From 702b085293af8ffe7a04865db78a36c85beb22ee Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Mon, 8 Nov 1999 22:00:41 +0000 Subject: preparation for doing a spoolss enum jobs command. had to rewrite spoolss_enumjobs parsing code to do read / writes not just writes. (This used to be commit bc659a09f9103eee9616279e27fafacf89dcd9b9) --- source3/rpc_server/srv_spoolss.c | 112 ++++++--------------------------------- 1 file changed, 15 insertions(+), 97 deletions(-) (limited to 'source3/rpc_server/srv_spoolss.c') diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c index 5883c9baac..1f9d8a19d5 100755 --- a/source3/rpc_server/srv_spoolss.c +++ b/source3/rpc_server/srv_spoolss.c @@ -1748,77 +1748,6 @@ static void enum_all_printers_info_2(PRINTER_INFO_2 ***printers, uint32 *number, } } -/**************************************************************************** -****************************************************************************/ -static void free_devmode(DEVICEMODE *devmode) -{ - if (devmode->private!=NULL) - free(devmode->private); - if (devmode!=NULL) - free(devmode); -} - -/**************************************************************************** -****************************************************************************/ -static void free_printer_info_2(PRINTER_INFO_2 *printer) -{ - free_devmode(printer->devmode); - if (printer!=NULL) - free(printer); -} - -/**************************************************************************** -****************************************************************************/ -static void free_enum_printers_info_1(PRINTER_INFO_1 **printers, uint32 total) -{ - int number=0; - if (printers != NULL) - { - for (number=0; numberreturned, r_u->level)); - switch (r_u->level) - { - case 1: - free_enum_printers_info_1(r_u->printer.printers_1, r_u->returned); - break; - case 2: - free_enum_printers_info_2(r_u->printer.printers_2, r_u->returned); - break; - } -} - /******************************************************************** * api_spoolss_reply_enumprinters * @@ -1864,7 +1793,6 @@ static void spoolss_reply_enumprinters(SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *rd r_u.status=0x0000; spoolss_io_r_enumprinters("",&r_u,rdata,0); - free_enum_printers_info(&r_u); } /******************************************************************** @@ -2827,7 +2755,7 @@ static void spoolss_reply_enumjobs(SPOOL_Q_ENUMJOBS *q_u, prs_struct *rdata, con if (get_printer_snum(&(q_u->handle), &snum)) { count=get_printqueue(snum, conn, &queue, &status); - r_u.numofjobs=count; + r_u.numofjobs=0; r_u.level=q_u->level; @@ -2837,48 +2765,38 @@ static void spoolss_reply_enumjobs(SPOOL_Q_ENUMJOBS *q_u, prs_struct *rdata, con { case 1: { - job_info_1=(JOB_INFO_1 *)malloc(count*sizeof(JOB_INFO_1)); - for (i=0; idevmode); - free(job_info_2); - break; - } - } - if (queue) free(queue); + if (queue) free(queue); } /**************************************************************************** -- cgit