From 03ab3429090a9fccc8778d949cd9d92042575558 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 6 Jan 2006 02:13:01 +0000 Subject: r12729: Implement the --section-name option, for dumping only one section. Andrew Bartlett (This used to be commit 3c49dd9219b12f5ed229ba108a02b85a18146df8) --- source4/param/loadparm.c | 35 ++++++++++++++++++++--------------- source4/param/loadparm.h | 14 +++++++++++++- 2 files changed, 33 insertions(+), 16 deletions(-) (limited to 'source4/param') diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c index 08abc3aa48..6e7716b1f2 100644 --- a/source4/param/loadparm.c +++ b/source4/param/loadparm.c @@ -66,18 +66,6 @@ static BOOL bLoaded = False; -#ifndef GLOBAL_NAME -#define GLOBAL_NAME "global" -#endif - -#ifndef PRINTERS_NAME -#define PRINTERS_NAME "printers" -#endif - -#ifndef HOMES_NAME -#define HOMES_NAME "homes" -#endif - /* some helpful bits */ #define LP_SNUM_OK(i) (((i) >= 0) && ((i) < iNumServices) && ServicePtrs[(i)]->valid) #define VALID(i) ServicePtrs[i]->valid @@ -706,6 +694,12 @@ static void init_globals(void) do_parameter("tls cafile", "tls/ca.pem", NULL); do_parameter_var("js include", "%s/js", dyn_LIBDIR); do_parameter_var("setup directory", "%s/setup", dyn_LIBDIR); + + for (i = 0; parm_table[i].label; i++) { + if (!(parm_table[i].flags & FLAG_CMDLINE)) { + parm_table[i].flags |= FLAG_DEFAULT; + } + } } static TALLOC_CTX *lp_talloc; @@ -1886,6 +1880,17 @@ BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue break; } + if (parm_table[parmnum].flags & FLAG_DEFAULT) { + parm_table[parmnum].flags &= ~FLAG_DEFAULT; + /* we have to also unset FLAG_DEFAULT on aliases */ + for (i=parmnum-1;i>=0 && parm_table[i].ptr == parm_table[parmnum].ptr;i--) { + parm_table[i].flags &= ~FLAG_DEFAULT; + } + for (i=parmnum+1;i