summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-11-25 19:16:35 +0000
committerGerald Carter <jerry@samba.org>2003-11-25 19:16:35 +0000
commit055750f090874d6b355c26de94a1fbd18955d4c9 (patch)
treeb1a39501fa100f76d34778c940e7c742f080913f
parent6ce882ef292b1e785b8b859b48256da11091c0d1 (diff)
downloadsamba-055750f090874d6b355c26de94a1fbd18955d4c9.tar.gz
samba-055750f090874d6b355c26de94a1fbd18955d4c9.tar.bz2
samba-055750f090874d6b355c26de94a1fbd18955d4c9.zip
allow users to delete jobs with cups printing backend
The changes the name of the job passed off to cups from "Test Page" to "smbprn.00000033 Test Page" so that we can get the smb jobid back from lpq. Working on bug 770. (This used to be commit 5979f4d645e84fb22223e6cbf0043f2fa21acb2f)
-rw-r--r--source3/printing/print_cups.c6
-rw-r--r--source3/printing/printing.c2
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)