summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-11-25 19:17:20 +0000
committerGerald Carter <jerry@samba.org>2003-11-25 19:17:20 +0000
commit3a84daf24f80cf44605841c844a0ba516354420b (patch)
treefc0896cda623e25db150c9e1cf1a988ff048f85f /source
parent2a00d538da61253455db1734b74ef1debaea24ea (diff)
downloadsamba-3a84daf24f80cf44605841c844a0ba516354420b.tar.gz
samba-3a84daf24f80cf44605841c844a0ba516354420b.tar.xz
samba-3a84daf24f80cf44605841c844a0ba516354420b.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.
Diffstat (limited to 'source')
-rw-r--r--source/printing/print_cups.c6
-rw-r--r--source/printing/printing.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/source/printing/print_cups.c b/source/printing/print_cups.c
index 291028b70cf..77719ffc528 100644
--- a/source/printing/print_cups.c
+++ b/source/printing/print_cups.c
@@ -681,6 +681,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));
@@ -743,8 +744,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/source/printing/printing.c b/source/printing/printing.c
index ef532473ba7..a4949f78e97 100644
--- a/source/printing/printing.c
+++ b/source/printing/printing.c
@@ -2062,6 +2062,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)