kbuf = message_key_pid(sys_getpid());
- tdb_chainlock(tdb, kbuf);
+ if (tdb_chainlock(tdb, kbuf) == -1)
+ return False;
+
dbuf = tdb_fetch(tdb, kbuf);
/*
* Replace with an empty record to keep the allocated
TDB_DATA data, key;
const char *printername;
struct tdb_print_db *pdb;
+ int max_reported_jobs = lp_max_reported_jobs(snum);
/* make sure the database is up to date */
QSORT_CAST(printjob_comp));
*queue = tstruct.queue;
+
+ if (max_reported_jobs && tstruct.qcount > max_reported_jobs)
+ tstruct.qcount = max_reported_jobs;
+
return tstruct.qcount;
}
int snum;
print_status_struct prt_status;
print_queue_struct *queue=NULL;
- int max_rep_jobs;
/* that's an [in out] buffer */
spoolss_move_buffer(q_u->buffer, &r_u->buffer);
if (!get_printer_snum(p, handle, &snum))
return WERR_BADFID;
- max_rep_jobs = lp_max_reported_jobs(snum);
-
*returned = print_queue_status(snum, &queue, &prt_status);
DEBUGADD(4,("count:[%d], status:[%d], [%s]\n", *returned, prt_status.status, prt_status.message));
return WERR_OK;
}
- if (max_rep_jobs && (*returned > max_rep_jobs))
- *returned = max_rep_jobs;
-
switch (level) {
case 1:
return enumjobs_level1(queue, snum, buffer, offered, needed, returned);