diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c index ccee2565e1c..909aed6c866 100644 --- a/source/printing/nt_printing.c +++ b/source/printing/nt_printing.c @@ -2053,10 +2053,13 @@ static WERROR update_a_printer_2(NT_PRINTER_INFO_LEVEL_2 *info) * and printer is \\server\\printer * * Samba manages only local printers. - * we currently don't support things like path=\\other_server\printer + * we currently don't support things like i + * path=\\other_server\printer + * + * We only store the printername, not \\server\printername */ - if (info->servername[0]!='\0') { + if ( info->servername[0] != '\0' ) { trim_string(info->printername, info->servername, NULL); trim_char(info->printername, '\\', '\0'); info->servername[0]='\0'; @@ -3067,10 +3070,13 @@ static int unpack_values(NT_PRINTER_DATA *printer_data, char *buf, int buflen) /* * break of the keyname from the value name. - * Should only be one '\' in the string returned. + * Valuenames can have embedded '\'s so be careful. + * only support one level of keys. See the + * "Konica Fiery S300 50C-K v1.1. enu" 2k driver. + * -- jerry */ - str = strrchr( string, '\\'); + str = strchr_m( string, '\\'); /* Put in "PrinterDriverData" is no key specified */