diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 10cd1d7..6ff9bb9 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -2212,7 +2212,7 @@ pause, or resume print job. User name: %s. Printer name: %s.", ssize_t print_job_write(int snum, uint32 jobid, const char *buf, SMB_OFF_T pos, size_t size) { const char* sharename = lp_const_servicename(snum); - int return_code; + ssize_t return_code; struct printjob *pjob; pjob = print_job_find(sharename, jobid); diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index d580754..3e9585f 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -5676,7 +5676,7 @@ WERROR _spoolss_EndDocPrinter(pipes_struct *p, WERROR _spoolss_WritePrinter(pipes_struct *p, struct spoolss_WritePrinter *r) { - uint32_t buffer_written; + ssize_t buffer_written; int snum; Printer_entry *Printer = find_printer_index_by_hnd(p, r->in.handle); @@ -5690,11 +5690,11 @@ WERROR _spoolss_WritePrinter(pipes_struct *p, if (!get_printer_snum(p, r->in.handle, &snum, NULL)) return WERR_BADFID; - buffer_written = (uint32_t)print_job_write(snum, Printer->jobid, + buffer_written = print_job_write(snum, Printer->jobid, (const char *)r->in.data.data, (SMB_OFF_T)-1, (size_t)r->in._data_size); - if (buffer_written == (uint32_t)-1) { + if (buffer_written == (ssize_t)-1) { *r->out.num_written = 0; if (errno == ENOSPC) return WERR_NO_SPOOL_SPACE;