param: simplify lp_do_parameter
authorGarming Sam <garming@catalyst.net.nz>
Thu, 27 Feb 2014 03:31:14 +0000 (16:31 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 7 Jul 2014 21:32:36 +0000 (23:32 +0200)
No longer checks for globals vs service twice.

Change-Id: I065e732ddb1ca2dda63dd22e3caf291fce8d327b
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Nadezhda Ivanova <nivanova@samba.org>
source3/param/loadparm.c

index 70085d3404eb8308e228d0ec99fad97932e4758f..03b2ea6d17a46ed5ad9804caae506d8bc44baeb3 100644 (file)
@@ -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 */