diff options
author | Gerald Carter <jerry@samba.org> | 2004-05-19 17:17:33 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2004-05-19 17:17:33 +0000 |
commit | c281a391eae20510dde3be4cad755fbdb8b34de5 (patch) | |
tree | 5538bdfbe99488a2c2e4338b22e7d5b9be76caa4 /source/printing/nt_printing.c | |
parent | e20c503a7c8f474a7ea6c71ad878b46b83b9ff1c (diff) | |
download | samba-c281a391eae20510dde3be4cad755fbdb8b34de5.tar.gz |
r783: fix bug in reading printer data from disk; all ow valuenames with embedded '\'s
Diffstat (limited to 'source/printing/nt_printing.c')
-rw-r--r-- | source/printing/nt_printing.c | 14 |
1 files changed, 10 insertions, 4 deletions
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 */ |