diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/param/loadparm.c | 12 | ||||
-rw-r--r-- | source3/param/loadparm_ctx.c | 2 |
2 files changed, 9 insertions, 5 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index f4ec225626..70085d3404 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -579,7 +579,7 @@ static struct lp_stored_option *stored_options; re-applied when we do a globals reset, so that cmdline set options are sticky across reloads of smb.conf */ -static bool store_lp_set_cmdline(const char *pszParmName, const char *pszParmValue) +bool store_lp_set_cmdline(const char *pszParmName, const char *pszParmValue) { struct lp_stored_option *entry, *entry_next; for (entry = stored_options; entry != NULL; entry = entry_next) { @@ -2710,12 +2710,16 @@ bool lp_set_cmdline(const char *pszParmName, const char *pszParmValue) { bool ret; TALLOC_CTX *frame = talloc_stackframe(); + struct loadparm_context *lp_ctx; - ret = lp_set_cmdline_helper(pszParmName, pszParmValue); - if (ret) { - store_lp_set_cmdline(pszParmName, pszParmValue); + lp_ctx = loadparm_init_s3(talloc_tos(), loadparm_s3_helpers()); + if (lp_ctx == NULL) { + DEBUG(0, ("loadparm_init_s3 failed\n")); + return false; } + ret = lpcfg_set_cmdline(lp_ctx, pszParmName, pszParmValue); + TALLOC_FREE(frame); return ret; } diff --git a/source3/param/loadparm_ctx.c b/source3/param/loadparm_ctx.c index 9f9ccd44c5..a3a7284920 100644 --- a/source3/param/loadparm_ctx.c +++ b/source3/param/loadparm_ctx.c @@ -66,7 +66,7 @@ static struct loadparm_s3_helpers s3_fns = .get_default_loadparm_service = lp_default_loadparm_service, .get_numservices = lp_numservices, .load = lp_load_for_s4_ctx, - .set_cmdline = lp_set_cmdline, + .store_cmdline = store_lp_set_cmdline, .dump = lp_dump, .lp_string = lp_string, .lp_string_set = lp_string_set, |