summaryrefslogtreecommitdiff
path: root/source3/printing
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
commit82ef4774d233295d29a3c6f86e30d03eddef9c73 (patch)
treef6fc6fd60bf3e65dd887f0811e254d26c0dc25ed /source3/printing
parentc8d0bce19ff7bf31b1f945b189839281a71aa697 (diff)
downloadsamba-82ef4774d233295d29a3c6f86e30d03eddef9c73.tar.gz
samba-82ef4774d233295d29a3c6f86e30d03eddef9c73.tar.bz2
samba-82ef4774d233295d29a3c6f86e30d03eddef9c73.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 3a84daf24f80cf44605841c844a0ba516354420b)
Diffstat (limited to 'source3/printing')
-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 291028b70c..77719ffc52 100644
--- a/source3/printing/print_cups.c
+++ b/source3/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/source3/printing/printing.c b/source3/printing/printing.c
index ef532473ba..a4949f78e9 100644
--- a/source3/printing/printing.c
+++ b/source3/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)