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