From f6697ef8dab915a6d44b829112a400f757197354 Mon Sep 17 00:00:00 2001 From: Garming Sam Date: Fri, 21 Feb 2014 15:13:28 +1300 Subject: [PATCH] param: use a single handle_include function between the two loadparms Signed-off-by: Garming Sam Reviewed-by: Andrew Bartlett Reviewed-by: Jeremy Allison --- lib/param/loadparm.c | 14 ++++++++------ lib/param/loadparm.h | 1 + lib/param/s3_param.h | 1 + source3/param/loadparm.c | 3 +-- source3/param/loadparm_ctx.c | 1 + 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index a707753a3e..f4ee64973c 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -91,10 +91,6 @@ static bool defaults_saved = false; #define N_(x) x #endif -/* prototypes for the special type handlers */ -static bool handle_include(struct loadparm_context *lp_ctx, int unused, - const char *pszParmValue, char **ptr); - #include "lib/param/param_table.c" /* local variables */ @@ -1105,10 +1101,16 @@ bool handle_realm(struct loadparm_context *lp_ctx, int unused, Handle the include operation. ***************************************************************************/ -static bool handle_include(struct loadparm_context *lp_ctx, int unused, +bool handle_include(struct loadparm_context *lp_ctx, int unused, const char *pszParmValue, char **ptr) { - char *fname = standard_sub_basic(lp_ctx, pszParmValue); + char *fname; + + if (lp_ctx->s3_fns) { + return lp_ctx->s3_fns->lp_include(lp_ctx, unused, pszParmValue, ptr); + } + + fname = standard_sub_basic(lp_ctx, pszParmValue); add_to_file_list(lp_ctx, &lp_ctx->file_lists, pszParmValue, fname); diff --git a/lib/param/loadparm.h b/lib/param/loadparm.h index c9baed5c7c..70443a97ea 100644 --- a/lib/param/loadparm.h +++ b/lib/param/loadparm.h @@ -263,6 +263,7 @@ struct loadparm_global * get_globals(void); char * lp_string(TALLOC_CTX *, const char *); bool lp_string_set(char **, const char *); int getservicebyname(const char *, struct loadparm_service *); +bool lp_include(struct loadparm_context *, int, const char *, char **); /** * Check if two parameters are equal. diff --git a/lib/param/s3_param.h b/lib/param/s3_param.h index 4ec922f07b..27ad192f74 100644 --- a/lib/param/s3_param.h +++ b/lib/param/s3_param.h @@ -16,6 +16,7 @@ struct loadparm_s3_helpers 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); + bool (*lp_include)(struct loadparm_context*, int, const char *, char **); struct loadparm_global *globals; }; diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 3f16b57b69..554106e25b 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -261,7 +261,6 @@ static struct file_lists *file_lists = NULL; #define NUMPARAMETERS (sizeof(parm_table) / sizeof(struct parm_struct)) /* prototypes for the special type handlers */ -static bool handle_include(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr); 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); @@ -2470,7 +2469,7 @@ static bool handle_netbios_aliases(struct loadparm_context *unused, int snum, co ***************************************************************************/ static bool bAllowIncludeRegistry = true; -static bool handle_include(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr) +bool lp_include(struct loadparm_context *unused, int snum, const char *pszParmValue, char **ptr) { char *fname; diff --git a/source3/param/loadparm_ctx.c b/source3/param/loadparm_ctx.c index d13304ff21..b6e185e653 100644 --- a/source3/param/loadparm_ctx.c +++ b/source3/param/loadparm_ctx.c @@ -71,6 +71,7 @@ static struct loadparm_s3_helpers s3_fns = .dump = lp_dump, .lp_string = lp_string, .lp_string_set = lp_string_set, + .lp_include = lp_include, }; const struct loadparm_s3_helpers *loadparm_s3_helpers(void) -- 2.34.1