summaryrefslogtreecommitdiffstats
path: root/source3/param/loadparm.c
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2014-02-27 17:09:09 +1300
committerAndrew Bartlett <abartlet@samba.org>2014-07-07 23:32:36 +0200
commit5c0ce80726edf35b49fd0d94aede191da469e90a (patch)
treeb6434a185126e9702b57da93d5b1a6eef9b9988a /source3/param/loadparm.c
parent83bc583e80c1ca4a6f220e35ee24903f61e52455 (diff)
downloadsamba-5c0ce80726edf35b49fd0d94aede191da469e90a.tar.gz
samba-5c0ce80726edf35b49fd0d94aede191da469e90a.tar.xz
samba-5c0ce80726edf35b49fd0d94aede191da469e90a.zip
param: remove unnecessary calls to do_parameter in s3
This aim of this is to try to factor out do_parameter. Ideally, do_parameter should strictly be called from pm_process. Change-Id: I990b53d0884e828f523a3b40e4ca72cc1596b06c Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Nadezhda Ivanova <nivanova@samba.org>
Diffstat (limited to 'source3/param/loadparm.c')
-rw-r--r--source3/param/loadparm.c29
1 files changed, 25 insertions, 4 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 86dfedc46d..27cdc58dfe 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -2078,9 +2078,19 @@ static bool process_smbconf_service(struct smbconf_service *service)
return false;
}
for (count = 0; count < service->num_params; count++) {
- ret = do_parameter(service->param_names[count],
- service->param_values[count],
- NULL);
+
+ if (!bInGlobalSection && bGlobalOnly) {
+ ret = true;
+ } else {
+ const char *pszParmName = service->param_names[count];
+ const char *pszParmValue = service->param_values[count];
+
+ DEBUGADD(4, ("doing parameter %s = %s\n", pszParmName, pszParmValue));
+
+ ret = lp_do_parameter(bInGlobalSection ? -2 : iServiceIndex,
+ pszParmName, pszParmValue);
+ }
+
if (ret != true) {
return false;
}
@@ -2144,7 +2154,18 @@ static bool process_registry_globals(void)
add_to_file_list(NULL, &file_lists, INCLUDE_REGISTRY_NAME, INCLUDE_REGISTRY_NAME);
- ret = do_parameter("registry shares", "yes", NULL);
+ if (!bInGlobalSection && bGlobalOnly) {
+ ret = true;
+ } else {
+ const char *pszParmName = "registry shares";
+ const char *pszParmValue = "yes";
+
+ DEBUGADD(4, ("doing parameter %s = %s\n", pszParmName, pszParmValue));
+
+ ret = lp_do_parameter(bInGlobalSection ? -2 : iServiceIndex,
+ pszParmName, pszParmValue);
+ }
+
if (!ret) {
return ret;
}