From a900fa09ecf90749f1bc6326dbae3b6143c37b7a Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Wed, 26 Feb 2014 13:22:33 +1300 Subject: param: move parametric parameter dumping to lpcfg_dump_a_parameter Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett Reviewed-by: Jeremy Allison --- lib/param/loadparm.c | 26 ++++++++++++++++++++++++++ source3/param/loadparm.c | 26 -------------------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index bf2002264a6..367c61d29df 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -2002,7 +2002,33 @@ bool lpcfg_dump_a_parameter(struct loadparm_context *lp_ctx, { struct parm_struct *parm; void *ptr; + char *local_parm_name; + char *parm_opt; + const char *parm_opt_value; + /* check for parametrical option */ + local_parm_name = talloc_strdup(lp_ctx, parm_name); + if (local_parm_name == NULL) { + return false; + } + + parm_opt = strchr( local_parm_name, ':'); + + if (parm_opt) { + *parm_opt = '\0'; + parm_opt++; + if (strlen(parm_opt)) { + parm_opt_value = lpcfg_parm_string(lp_ctx, service, + local_parm_name, parm_opt); + if (parm_opt_value) { + fprintf(f, "%s\n", parm_opt_value); + return true; + } + } + return false; + } + + /* parameter is not parametric, search the table */ parm = lpcfg_parm_struct(lp_ctx, parm_name); if (!parm) { return false; diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 358e62089e5..a0912ac95ff 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -3061,9 +3061,6 @@ static void dump_a_service(struct loadparm_service *pService, FILE * f) bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal) { bool result = false; - char *local_parm_name; - char *parm_opt; - const char *parm_opt_value; struct loadparm_context *lp_ctx; @@ -3072,29 +3069,6 @@ bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal) return false; } - /* check for parametrical option */ - local_parm_name = talloc_strdup(lp_ctx, parm_name); - if (local_parm_name == NULL) { - TALLOC_FREE(lp_ctx); - return false; - } - - parm_opt = strchr( local_parm_name, ':'); - - if (parm_opt) { - *parm_opt = '\0'; - parm_opt++; - if (strlen(parm_opt)) { - parm_opt_value = lp_parm_const_string( snum, - local_parm_name, parm_opt, NULL); - if (parm_opt_value) { - fprintf(f, "%s\n", parm_opt_value); - result = true; - } - } - return result; - } - if (isGlobal) { result = lpcfg_dump_a_parameter(lp_ctx, NULL, parm_name, f); } else { -- cgit