r783: fix bug in reading printer data from disk; all ow valuenames with embedded...
authorGerald Carter <jerry@samba.org>
Wed, 19 May 2004 17:17:33 +0000 (17:17 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 15:51:38 +0000 (10:51 -0500)
source/printing/nt_printing.c

index ccee2565e1c9959f38105cef39a057017c5c04b6..909aed6c86613e1820802ae94909555656e62f53 100644 (file)
@@ -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 */