From: Garming Sam Date: Thu, 27 Feb 2014 03:31:14 +0000 (+1300) Subject: param: simplify lp_do_parameter X-Git-Tag: tdb-1.3.1~758 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=e1c50d9542a847361bcaf1bafca6691e56245873;p=samba.git param: simplify lp_do_parameter No longer checks for globals vs service twice. Change-Id: I065e732ddb1ca2dda63dd22e3caf291fce8d327b Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett Reviewed-by: Nadezhda Ivanova --- diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 70085d3404e..03b2ea6d17a 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -2617,6 +2617,7 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue /* we might point at a service, the default service or a global */ if (snum < 0) { parm_ptr = lp_parm_ptr(NULL, &parm_table[parmnum]); + mem_ctx = Globals.ctx; } else { if (parm_table[parmnum].p_class == P_GLOBAL) { DEBUG(0, @@ -2626,9 +2627,7 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue return true; } parm_ptr = lp_parm_ptr(ServicePtrs[snum], &parm_table[parmnum]); - } - if (snum >= 0) { if (!ServicePtrs[snum]->copymap) init_copymap(ServicePtrs[snum]); @@ -2640,9 +2639,8 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue bitmap_clear(ServicePtrs[snum]->copymap, i); } } + mem_ctx = ServicePtrs[snum]; - } else { - mem_ctx = Globals.ctx; } /* if it is a special case then go ahead */