From 23f16c5ce60f76633458cc21b2d260d347b1b459 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 10 May 2000 11:20:46 +0000 Subject: [PATCH] remove autoloaded printers that are no longer in /etc/printcap when we get a HUP --- source/param/loadparm.c | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/source/param/loadparm.c b/source/param/loadparm.c index 1945dcffb2e..14da552dcb0 100644 --- a/source/param/loadparm.c +++ b/source/param/loadparm.c @@ -268,6 +268,7 @@ static global Globals; typedef struct { BOOL valid; + BOOL autoloaded; char *szService; char *szPath; char *szUsername; @@ -381,6 +382,7 @@ typedef struct static service sDefault = { True, /* valid */ + False, /* not autoloaded */ NULL, /* szService */ NULL, /* szPath */ NULL, /* szUsername */ @@ -2778,8 +2780,10 @@ void lp_add_one_printer(char *name,char *comment) if (lp_servicenumber(name) < 0) { lp_add_printer(name,printers); - if ((i=lp_servicenumber(name)) >= 0) + if ((i=lp_servicenumber(name)) >= 0) { string_set(&iSERVICE(i).comment,comment); + iSERVICE(i).autoloaded = True; + } } } @@ -2788,7 +2792,7 @@ have we loaded a services file yet? ***************************************************************************/ BOOL lp_loaded(void) { - return(bLoaded); + return(bLoaded); } /*************************************************************************** @@ -2796,13 +2800,27 @@ unload unused services ***************************************************************************/ void lp_killunused(BOOL (*snumused)(int )) { - int i; - for (i=0;i