From 660506d359d76700f6f6ae5b7e9c4d05fe505fb6 Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Tue, 4 May 2010 02:51:12 -0400 Subject: s3-printing: Handled case when smbd spools a file on behalf of spoolss. --- source3/rpc_server/srv_spoolss_nt.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'source3/rpc_server') diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 24d1716d42..1f0b36450f 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -5188,6 +5188,7 @@ WERROR _spoolss_EndDocPrinter(pipes_struct *p, struct spoolss_EndDocPrinter *r) { Printer_entry *Printer = find_printer_index_by_hnd(p, r->in.handle); + NTSTATUS status; int snum; if (!Printer) { @@ -5201,11 +5202,15 @@ WERROR _spoolss_EndDocPrinter(pipes_struct *p, } Printer->document_started = false; - print_job_end(snum, Printer->jobid, NORMAL_CLOSE); - /* error codes unhandled so far ... */ + status = print_job_end(snum, Printer->jobid, NORMAL_CLOSE); + if (!NT_STATUS_IS_OK(status)) { + DEBUG(2, ("_spoolss_EndDocPrinter: " + "print_job_end failed [%s]\n", + nt_errstr(status))); + } Printer->jobid = 0; - return WERR_OK; + return ntstatus_to_werror(status); } /**************************************************************** -- cgit