fstrcpy(pj.filename, "");
fstrcpy(pj.jobname, q->fs_file);
fstrcpy(pj.user, q->fs_user);
- pj.snum = snum;
+ fstrcpy(pj.queuename, lp_servicename(snum));
print_job_store(jobid, &pj);
}
memcpy(&jobid, key.dptr, sizeof(jobid));
memcpy(&pjob, data.dptr, sizeof(pjob));
- if (ts->snum != pjob.snum) {
+ if (!strequal(lp_servicename(ts->snum), pjob.queuename)) {
/* this isn't for the queue we are looking at */
ts->total_jobs++;
return 0;
struct printjob *pjob = print_job_find(jobid);
if (!pjob) return -1;
- return pjob->snum;
+ return find_service(pjob->queuename);
}
/****************************************************************************
return True;
snum = print_job_snum(jobid);
+ if (snum == -1) {
+ DEBUG(5,("print_job_delete1: unknown service number for jobid %d\n", jobid));
+ return False;
+ }
/* Hrm - we need to be able to cope with deleting a job before it
has reached the spooler. */
int snum = print_job_snum(jobid);
char *printer_name;
BOOL owner;
-
+
+ if (snum == -1) {
+ DEBUG(5,("print_job_delete: unknown service number for jobid %d\n", jobid));
+ return False;
+ }
+
owner = is_owner(user, jobid);
/* Check access against security descriptor or whether the user
if (!pjob->spooled || pjob->sysjob == -1) return False;
snum = print_job_snum(jobid);
+ if (snum == -1) {
+ DEBUG(5,("print_job_pause: unknown service number for jobid %d\n", jobid));
+ return False;
+ }
+ if (snum == -1) {
+ DEBUG(5,("print_job_resume: unknown service number for jobid %d\n", jobid));
+ return False;
+ }
if (!is_owner(user, jobid) &&
!print_access_check(user, snum, JOB_ACCESS_ADMINISTER)) {
fstrcpy(pjob.user, uidtoname(user->uid));
}
- pjob.snum = snum;
+ fstrcpy(pjob.queuename, lp_servicename(snum));
/* lock the database */
tdb_lock_bystring(tdb, "INFO/nextjob");
return False;
snum = print_job_snum(jobid);
+ if (snum == -1) {
+ DEBUG(5,("print_job_end: unknown service number for jobid %d\n", jobid));
+ return False;
+ }
if (normal_close && (sys_fstat(pjob->fd, &sbuf) == 0)) {
pjob->size = sbuf.st_size;
memcpy(&pjob, data.dptr, sizeof(pjob));
/* maybe it isn't for this queue */
- if (ts->snum != pjob.snum) return 0;
+ if (!strequal(lp_servicename(ts->snum), pjob.queuename))
+ return 0;
if (ts->qcount >= ts->maxcount) return 0;
memcpy(&pjob, data.dptr, sizeof(pjob));
/* maybe it isn't for this queue */
- if (ts->snum != pjob.snum) return 0;
+ if (!strequal(lp_servicename(ts->snum), pjob.queuename))
+ return 0;
ts->count++;