summaryrefslogtreecommitdiffstats
path: root/source3/param/loadparm.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/param/loadparm.c')
-rw-r--r--source3/param/loadparm.c12
1 files changed, 8 insertions, 4 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;
}