diff options
Diffstat (limited to 'source3/printing')
-rw-r--r-- | source3/printing/print_cups.c | 6 | ||||
-rw-r--r-- | source3/printing/printing.c | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c index df62153798..f0096a17c2 100644 --- a/source3/printing/print_cups.c +++ b/source3/printing/print_cups.c @@ -682,6 +682,7 @@ cups_job_submit(int snum, struct printjob *pjob) cups_lang_t *language; /* Default language */ char uri[HTTP_MAX_URI]; /* printer-uri attribute */ char *clientname; /* hostname of client for job-originating-host attribute */ + pstring new_jobname; DEBUG(5,("cups_job_submit(%d, %p (%d))\n", snum, pjob, pjob->sysjob)); @@ -744,8 +745,11 @@ cups_job_submit(int snum, struct printjob *pjob) "job-originating-host-name", NULL, clientname); + pstr_sprintf(new_jobname,"%s%.8u %s", PRINT_SPOOL_PREFIX, + (unsigned int)pjob->smbjob, pjob->jobname); + ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name", NULL, - pjob->jobname); + new_jobname); /* * Do the request and get back a response... diff --git a/source3/printing/printing.c b/source3/printing/printing.c index ad17213c2d..32470fb22f 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -2063,6 +2063,8 @@ BOOL print_job_end(int snum, uint32 jobid, BOOL normal_close) return True; } + pjob->smbjob = jobid; + ret = (*(current_printif->job_submit))(snum, pjob); if (ret) |