svn commit: samba r5997 - in trunk/source/printing: .

gd at samba.org gd at samba.org
Wed Mar 23 18:23:55 GMT 2005


Author: gd
Date: 2005-03-23 18:23:55 +0000 (Wed, 23 Mar 2005)
New Revision: 5997

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=5997

Log:
Get rid of unnecessary memdup`ed NT_PRINTER_INFO_LEVEL_2.

Guenther


Modified:
   trunk/source/printing/nt_printing.c


Changeset:
Modified: trunk/source/printing/nt_printing.c
===================================================================
--- trunk/source/printing/nt_printing.c	2005-03-23 17:03:48 UTC (rev 5996)
+++ trunk/source/printing/nt_printing.c	2005-03-23 18:23:55 UTC (rev 5997)
@@ -2601,28 +2601,24 @@
 	char adevice[MAXDEVICENAME];
 	WERROR err;
 
-	NT_PRINTER_INFO_LEVEL_2 *info = NULL;
+	err = printerdb_get_printer(info_ptr, sharename);
 
-	ZERO_STRUCT(info);
-
-	err = printerdb_get_printer(&info, sharename);
-
 	if (!W_ERROR_IS_OK(err))
 		return get_a_printer_2_default(info_ptr, servername, sharename);
 
 	/* Samba has to have shared raw drivers. */
-	info->attributes |= PRINTER_ATTRIBUTE_SAMBA;
-	info->attributes &= ~PRINTER_ATTRIBUTE_NOT_SAMBA;
+	(*info_ptr)->attributes |= PRINTER_ATTRIBUTE_SAMBA;
+	(*info_ptr)->attributes &= ~PRINTER_ATTRIBUTE_NOT_SAMBA;
 
 	/* Restore the stripped strings. */
-	slprintf(info->servername, sizeof(info->servername)-1, "\\\\%s", servername);
+	slprintf((*info_ptr)->servername, sizeof((*info_ptr)->servername)-1, "\\\\%s", servername);
 
 	if ( lp_force_printername(snum) )
 		slprintf(printername, sizeof(printername)-1, "\\\\%s\\%s", servername, sharename );
 	else 
-		slprintf(printername, sizeof(printername)-1, "\\\\%s\\%s", servername, info->printername);
+		slprintf(printername, sizeof(printername)-1, "\\\\%s\\%s", servername, (*info_ptr)->printername);
 
-	fstrcpy(info->printername, printername);
+	fstrcpy((*info_ptr)->printername, printername);
 
 	/*
 	 * Some client drivers freak out if there is a NULL devmode
@@ -2632,32 +2628,30 @@
 	 * See comments in get_a_printer_2_default()
 	 */
 
-	if (lp_default_devmode(snum) && !info->devmode) {
+	if (lp_default_devmode(snum) && !(*info_ptr)->devmode) {
 		DEBUG(8,("get_a_printer_2: Constructing a default device mode for [%s]\n",
 			printername));
-		info->devmode = construct_nt_devicemode(printername);
+		(*info_ptr)->devmode = construct_nt_devicemode(printername);
 	}
 
-	slprintf( adevice, sizeof(adevice), "%s", info->printername );
-	if (info->devmode) {
-		fstrcpy(info->devmode->devicename, adevice);	
+	slprintf( adevice, sizeof(adevice), "%s", (*info_ptr)->printername );
+	if ((*info_ptr)->devmode) {
+		fstrcpy((*info_ptr)->devmode->devicename, adevice);	
 	}
 
 	/* This will get the current RPC talloc context, but we should be
 	   passing this as a parameter... fixme... JRA ! */
 
-	nt_printing_getsec(get_talloc_ctx(), sharename, &info->secdesc_buf);
+	nt_printing_getsec(get_talloc_ctx(), sharename, &(*info_ptr)->secdesc_buf);
 
 	/* Fix for OS/2 drivers. */
 
 	if (get_remote_arch() == RA_OS2)
-		map_to_os2_driver(info->drivername);
+		map_to_os2_driver((*info_ptr)->drivername);
 
 	DEBUG(9,("Unpacked printer [%s] name [%s] running driver [%s]\n",
-		 sharename, info->printername, info->drivername));
+		 sharename, (*info_ptr)->printername, (*info_ptr)->drivername));
 
-	*info_ptr = memdup(info, sizeof(*info));
-
 	return WERR_OK;	
 }
 



More information about the samba-cvs mailing list