From 5c0ce80726edf35b49fd0d94aede191da469e90a Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Thu, 27 Feb 2014 17:09:09 +1300 Subject: 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 Reviewed-by: Andrew Bartlett Reviewed-by: Nadezhda Ivanova --- source3/param/loadparm.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'source3/param/loadparm.c') 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; } -- cgit