diff options
Diffstat (limited to 'source3/printing')
-rw-r--r-- | source3/printing/print_cups.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source3/printing/print_cups.c b/source3/printing/print_cups.c index f0096a17c2..9a48296543 100644 --- a/source3/printing/print_cups.c +++ b/source3/printing/print_cups.c @@ -683,6 +683,8 @@ cups_job_submit(int snum, struct printjob *pjob) char uri[HTTP_MAX_URI]; /* printer-uri attribute */ char *clientname; /* hostname of client for job-originating-host attribute */ pstring new_jobname; + int num_options = 0; + cups_option_t *options; DEBUG(5,("cups_job_submit(%d, %p (%d))\n", snum, pjob, pjob->sysjob)); @@ -751,6 +753,17 @@ cups_job_submit(int snum, struct printjob *pjob) ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name", NULL, new_jobname); + /* + * add any options defined in smb.conf + */ + + num_options = 0; + options = NULL; + num_options = cupsParseOptions(lp_cups_options(snum), num_options, &options); + + if ( num_options ) + cupsEncodeOptions(request, num_options, options); + /* * Do the request and get back a response... */ @@ -782,7 +795,6 @@ cups_job_submit(int snum, struct printjob *pjob) return (ret); } - /* * 'cups_queue_get()' - Get all the jobs in the print queue. */ |