r21862: add the cups comment and location lookup to get_a_printer_2_default() as...
authorGerald Carter <jerry@samba.org>
Fri, 16 Mar 2007 21:52:21 +0000 (21:52 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:18:39 +0000 (12:18 -0500)
(This used to be commit 5b47c4e5c25550ad72f9e558bb50f237ba28f81e)

source3/printing/nt_printing.c

index 6289be3e5fb19170cc9cab68c07d1825c494f07e..c03f38840d0fe139def113b5e021c0b6b977309d 100644 (file)
@@ -3743,9 +3743,7 @@ static void map_to_os2_driver(fstring drivername)
 ****************************************************************************/
 static WERROR get_a_printer_2_default(NT_PRINTER_INFO_LEVEL_2 *info, const char *servername, const char* sharename)
 {
-       int snum;
-
-       snum = lp_servicenumber(sharename);
+       int snum = lp_servicenumber(sharename);
 
        slprintf(info->servername, sizeof(info->servername)-1, "\\\\%s", servername);
        slprintf(info->printername, sizeof(info->printername)-1, "\\\\%s\\%s", 
@@ -3769,6 +3767,15 @@ static WERROR get_a_printer_2_default(NT_PRINTER_INFO_LEVEL_2 *info, const char
        fstrcpy(info->printprocessor, "winprint");
        fstrcpy(info->datatype, "RAW");
 
+#ifdef HAVE_CUPS
+       if ( (enum printing_types)lp_printing(snum) == PRINT_CUPS ) {           
+               /* Pull the location and comment strings from cups if we don't
+                  already have one */
+               if ( !strlen(info->location) || !strlen(info->comment) )
+                       cups_pull_comment_location( info );
+       }
+#endif
+
        info->attributes = PRINTER_ATTRIBUTE_SAMBA;
 
        info->starttime = 0; /* Minutes since 12:00am GMT */