diff options
author | Garming Sam <garming@catalyst.net.nz> | 2014-02-28 12:53:32 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2014-07-07 23:32:36 +0200 |
commit | 39fb65e54c4bf603c20ed01c1834b02e5be8c3c3 (patch) | |
tree | 7e9201d0d472d575a72f5dde6691cfd6126dd520 /lib/param/loadparm.c | |
parent | 85f5f8648c4f1b927ab114ea48a510e8c7004f76 (diff) | |
download | samba-39fb65e54c4bf603c20ed01c1834b02e5be8c3c3.tar.gz samba-39fb65e54c4bf603c20ed01c1834b02e5be8c3c3.tar.xz samba-39fb65e54c4bf603c20ed01c1834b02e5be8c3c3.zip |
param: replace lp_set_cmdline in s3 helpers to store_cmdline
Change-Id: I9a6ac66eeb8e0dd9ba356f5201f7ac09784b476d
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'lib/param/loadparm.c')
-rw-r--r-- | lib/param/loadparm.c | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index cd58245148..12e402d080 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -1701,16 +1701,19 @@ bool lpcfg_set_cmdline(struct loadparm_context *lp_ctx, const char *pszParmName, while (isspace((unsigned char)*pszParmValue)) pszParmValue++; - if (lp_ctx->s3_fns) { - return lp_ctx->s3_fns->set_cmdline(pszParmName, pszParmValue); - } - parmnum = lpcfg_map_parameter(pszParmName); if (parmnum < 0 && strchr(pszParmName, ':')) { /* set a parametric option */ - return lp_do_parameter_parametric(lp_ctx, NULL, pszParmName, - pszParmValue, FLAG_CMDLINE); + bool ok; + ok = lp_do_parameter_parametric(lp_ctx, NULL, pszParmName, + pszParmValue, FLAG_CMDLINE); + if (lp_ctx->s3_fns != NULL) { + if (ok) { + lp_ctx->s3_fns->store_cmdline(pszParmName, pszParmValue); + } + } + return ok; } if (parmnum < 0) { @@ -1721,8 +1724,14 @@ bool lpcfg_set_cmdline(struct loadparm_context *lp_ctx, const char *pszParmName, /* reset the CMDLINE flag in case this has been called before */ lp_ctx->flags[parmnum] &= ~FLAG_CMDLINE; - if (!lpcfg_do_global_parameter(lp_ctx, pszParmName, pszParmValue)) { - return false; + if (lp_ctx->s3_fns != NULL) { + if (!lp_ctx->s3_fns->lp_do_parameter(-1, pszParmName, pszParmValue)) { + return false; + } + } else { + if (!lpcfg_do_global_parameter(lp_ctx, pszParmName, pszParmValue)) { + return false; + } } lp_ctx->flags[parmnum] |= FLAG_CMDLINE; @@ -1742,6 +1751,10 @@ bool lpcfg_set_cmdline(struct loadparm_context *lp_ctx, const char *pszParmName, lp_ctx->flags[i] |= FLAG_CMDLINE; } + if (lp_ctx->s3_fns != NULL) { + lp_ctx->s3_fns->store_cmdline(pszParmName, pszParmValue); + } + return true; } |