svn commit: samba r4043 - in branches/SAMBA_3_0/source/smbd: .
jerry at samba.org
jerry at samba.org
Thu Dec 2 17:11:19 GMT 2004
Author: jerry
Date: 2004-12-02 17:11:18 +0000 (Thu, 02 Dec 2004)
New Revision: 4043
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4043
Log:
BUG 2091: don't remove statically defined printers in remove_stale_printers()
Modified:
branches/SAMBA_3_0/source/smbd/service.c
Changeset:
Modified: branches/SAMBA_3_0/source/smbd/service.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/service.c 2004-12-02 12:12:26 UTC (rev 4042)
+++ branches/SAMBA_3_0/source/smbd/service.c 2004-12-02 17:11:18 UTC (rev 4043)
@@ -152,10 +152,9 @@
int iPrinterService;
if ((iPrinterService = lp_servicenumber(PRINTERS_NAME)) >= 0) {
- char *pszTemp;
+ const char *pszTemp = lp_printcapname();
DEBUG(3,("checking whether %s is a valid printer name...\n", service));
- pszTemp = lp_printcapname();
if ((pszTemp != NULL) && pcap_printername_ok(service, pszTemp)) {
DEBUG(3,("%s is a valid printer name\n", service));
DEBUG(3,("adding %s as a printer service\n", service));
@@ -877,12 +876,21 @@
iNumServices = lp_numservices();
printersServiceNum = lp_servicenumber( PRINTERS_NAME);
for( snum = 0; snum < iNumServices; snum++) {
+
/* Never remove PRINTERS_NAME */
+
if ( snum == printersServiceNum)
continue;
pname = lp_printername( snum);
- /* Is snum a print service and still in the printing subsystem? */
- if ( lp_print_ok( snum) && !pcap_printername_ok( pname, NULL)) {
+
+ /* Is snum an autoloaded print service and still
+ in the printing subsystem? */
+
+ if ( lp_snum_ok(snum)
+ && lp_print_ok(snum)
+ && lp_autoloaded(snum)
+ && !pcap_printername_ok( pname, NULL))
+ {
DEBUG( 3, ( "Removing printer: %s\n", pname));
lp_killservice( snum);
}
More information about the samba-cvs
mailing list