diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index 97a06a0efd0..b47a2c04866 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -102,8 +102,6 @@ static bool handle_realm(struct loadparm_context *lp_ctx, int unused, const char *pszParmValue, char **ptr); static bool handle_copy(struct loadparm_context *lp_ctx, int unused, const char *pszParmValue, char **ptr); -static bool handle_debug_list(struct loadparm_context *lp_ctx, int unused, - const char *pszParmValue, char **ptr); static bool handle_logfile(struct loadparm_context *lp_ctx, int unused, const char *pszParmValue, char **ptr); @@ -1136,15 +1134,16 @@ static bool handle_copy(struct loadparm_context *lp_ctx, int unused, return bRetval; } -static bool handle_debug_list(struct loadparm_context *lp_ctx, int unused, +bool handle_debug_list(struct loadparm_context *lp_ctx, int unused, const char *pszParmValue, char **ptr) { - - lpcfg_string_set(lp_ctx, ptr, pszParmValue); - if (lp_ctx->global) { - return debug_parse_levels(pszParmValue); + if (lp_ctx->s3_fns != NULL) { + lp_ctx->s3_fns->lp_string_set(ptr, pszParmValue); + } else { + lpcfg_string_set(lp_ctx, ptr, pszParmValue); } - return true; + + return debug_parse_levels(pszParmValue); } static bool handle_logfile(struct loadparm_context *lp_ctx, int unused, diff --git a/lib/param/s3_param.h b/lib/param/s3_param.h index 106c48007dd..276810427ed 100644 --- a/lib/param/s3_param.h +++ b/lib/param/s3_param.h @@ -14,6 +14,7 @@ struct loadparm_s3_helpers bool (*set_cmdline)(const char *pszParmName, const char *pszParmValue); void (*dump)(FILE *f, bool show_defaults, int maxtoprint); char * (*lp_string)(TALLOC_CTX *ctx, const char *in); + bool (*lp_string_set)(char **dest, const char *src); struct loadparm_global *globals; }; diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index c6ff350d6ca..adf3001933b 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -265,7 +265,6 @@ static bool handle_copy(struct loadparm_context *unused, int snum, const char *p static bool handle_idmap_backend(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr); static bool handle_idmap_uid(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr); static bool handle_idmap_gid(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr); -static bool handle_debug_list(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr ); static bool handle_realm(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr ); static bool handle_netbios_aliases(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr ); static bool handle_charset(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr ); @@ -2953,16 +2952,6 @@ const char *lp_idmap_default_backend(void) return lp_idmap_backend("*"); } -/*************************************************************************** - Handle the DEBUG level list. -***************************************************************************/ - -static bool handle_debug_list(struct loadparm_context *unused, int snum, const char *pszParmValueIn, char **ptr ) -{ - string_set(Globals.ctx, ptr, pszParmValueIn); - return debug_parse_levels(pszParmValueIn); -} - /*************************************************************************** Handle ldap suffixes - default to ldapsuffix if sub-suffixes are not defined. ***************************************************************************/ diff --git a/source3/param/loadparm_ctx.c b/source3/param/loadparm_ctx.c index efae8cbbaf3..0d5189b3886 100644 --- a/source3/param/loadparm_ctx.c +++ b/source3/param/loadparm_ctx.c @@ -68,6 +68,7 @@ static struct loadparm_s3_helpers s3_fns = .load = lp_load_for_s4_ctx, .set_cmdline = lp_set_cmdline, .dump = lp_dump, + .lp_string_set = lp_string_set, }; const struct loadparm_s3_helpers *loadparm_s3_helpers(void)