diff options
Diffstat (limited to 'source/printing')
-rw-r--r-- | source/printing/notify.c | 8 | ||||
-rw-r--r-- | source/printing/nt_printing.c | 25 | ||||
-rw-r--r-- | source/printing/pcap.c | 4 |
3 files changed, 24 insertions, 13 deletions
diff --git a/source/printing/notify.c b/source/printing/notify.c index 479d883134b..e2146d50189 100644 --- a/source/printing/notify.c +++ b/source/printing/notify.c @@ -164,8 +164,8 @@ static void print_notify_send_messages_to_printer(const char *printer, unsigned } } - DEBUG(5, ("print_notify_send_messages_to_printer: sending %d print notify message%s to printer %s\n", - msg_count, msg_count != 1 ? "s" : "", printer)); + DEBUG(5, ("print_notify_send_messages_to_printer: sending %lu print notify message%s to printer %s\n", + (unsigned long)msg_count, msg_count != 1 ? "s" : "", printer)); /* * Get the list of PID's to send to. @@ -272,8 +272,8 @@ in notify_queue\n", msg->type, msg->field, msg->printer)); /* allocate a new msg structure and copy the fields */ if ( !(pnqueue->msg = (SPOOLSS_NOTIFY_MSG*)talloc(send_ctx, sizeof(SPOOLSS_NOTIFY_MSG))) ) { - DEBUG(0,("send_spoolss_notify2_msg: talloc() of size [%d] failed!\n", - sizeof(SPOOLSS_NOTIFY_MSG))); + DEBUG(0,("send_spoolss_notify2_msg: talloc() of size [%lu] failed!\n", + (unsigned long)sizeof(SPOOLSS_NOTIFY_MSG))); return; } copy_notify2_msg(pnqueue->msg, msg); diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index 5e6e95ff7e2..9ac5d2b7449 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -204,13 +204,19 @@ struct table_node { int version; }; +#define SPL_ARCH_WIN40 "WIN40" +#define SPL_ARCH_W32X86 "W32X86" +#define SPL_ARCH_W32MIPS "W32MIPS" +#define SPL_ARCH_W32ALPHA "W32ALPHA" +#define SPL_ARCH_W32PPC "W32PPC" + static const struct table_node archi_table[]= { - {"Windows 4.0", "WIN40", 0 }, - {"Windows NT x86", "W32X86", 2 }, - {"Windows NT R4000", "W32MIPS", 2 }, - {"Windows NT Alpha_AXP", "W32ALPHA", 2 }, - {"Windows NT PowerPC", "W32PPC", 2 }, + {"Windows 4.0", SPL_ARCH_WIN40, 0 }, + {"Windows NT x86", SPL_ARCH_W32X86, 2 }, + {"Windows NT R4000", SPL_ARCH_W32MIPS, 2 }, + {"Windows NT Alpha_AXP", SPL_ARCH_W32ALPHA, 2 }, + {"Windows NT PowerPC", SPL_ARCH_W32PPC, 2 }, {NULL, "", -1 } }; @@ -1755,6 +1761,11 @@ static WERROR get_a_printer_driver_3(NT_PRINTER_DRIVER_INFO_LEVEL_3 **info_ptr, ZERO_STRUCT(driver); architecture = get_short_archi(arch); + + /* Windows 4.0 (i.e. win9x) should always use a version of 0 */ + + if ( strcmp( arch, SPL_ARCH_WIN40 ) == 0 ) + version = 0; DEBUG(8,("get_a_printer_driver_3: [%s%s/%d/%s]\n", DRIVERS_PREFIX, architecture, version, drivername)); @@ -2919,7 +2930,7 @@ WERROR add_printer_data( NT_PRINTER_INFO_LEVEL_2 *p2, const char *key, const cha return WERR_NOMEM; regval_ctr_addvalue( &p2->data.keys[key_index].values, value, - type, data, real_len ); + type, (const char *)data, real_len ); DEBUG(8,("add_printer_data: Added key => [%s], value => [%s], type=> [%d], size => [%d]\n", key, value, type, real_len )); @@ -3012,7 +3023,7 @@ static int unpack_values(NT_PRINTER_DATA *printer_data, char *buf, int buflen) /* add the new value */ - regval_ctr_addvalue( &printer_data->keys[key_index].values, valuename, type, data_p, size ); + regval_ctr_addvalue( &printer_data->keys[key_index].values, valuename, type, (const char *)data_p, size ); SAFE_FREE(data_p); /* 'B' option to tdbpack does a malloc() */ diff --git a/source/printing/pcap.c b/source/printing/pcap.c index 1bdbf4a789e..a5fb53a320d 100644 --- a/source/printing/pcap.c +++ b/source/printing/pcap.c @@ -208,7 +208,7 @@ static BOOL ScanQconfig(char *psz,char *pszPrintername) /* probably a good printer ??? */ free (line); SAFE_FREE(pName); - fclose(pfile); + x_fclose(pfile); return(True); } @@ -222,7 +222,7 @@ static BOOL ScanQconfig(char *psz,char *pszPrintername) /* it's a good virtual printer */ free (line); SAFE_FREE(pName); - fclose(pfile); + x_fclose(pfile); return(True); } break; |