diff options
-rw-r--r-- | source3/param/loadparm_ctx.c | 6 | ||||
-rw-r--r-- | source4/param/loadparm.c | 4 | ||||
-rw-r--r-- | source4/script/mks3param.pl | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/source3/param/loadparm_ctx.c b/source3/param/loadparm_ctx.c index 7c59ca709a..2289f6bc29 100644 --- a/source3/param/loadparm_ctx.c +++ b/source3/param/loadparm_ctx.c @@ -20,6 +20,11 @@ #include "includes.h" #include "../source4/param/s3_param.h" +static bool lp_load_for_s4_ctx(const char *filename) +{ + return lp_load(filename, false, false, false, false); +} + /* These are in the order that they appear in the s4 loadparm file. * All of the s4 loadparm functions should be here eventually, once * they are implemented in the s3 loadparm, have the same format (enum @@ -33,6 +38,7 @@ static const struct loadparm_s3_context s3_fns = .get_servicebynum = lp_servicebynum, .get_default_loadparm_service = lp_default_loadparm_service, .get_numservices = lp_numservices, + .load = lp_load_for_s4_ctx, .set_cmdline = lp_set_cmdline, .server_role = lp_server_role, diff --git a/source4/param/loadparm.c b/source4/param/loadparm.c index 3b0eefe603..c1fd5f22a2 100644 --- a/source4/param/loadparm.c +++ b/source4/param/loadparm.c @@ -3514,6 +3514,10 @@ bool lpcfg_load(struct loadparm_context *lp_ctx, const char *filename) char *n2; bool bRetval; + if (lp_ctx->s3_fns) { + return lp_ctx->s3_fns->load(filename); + } + filename = talloc_strdup(lp_ctx, filename); lp_ctx->szConfigFile = filename; diff --git a/source4/script/mks3param.pl b/source4/script/mks3param.pl index 761cd6980f..37277c20b1 100644 --- a/source4/script/mks3param.pl +++ b/source4/script/mks3param.pl @@ -92,6 +92,7 @@ sub print_header($$) $file->("\tstruct loadparm_service * (*get_default_loadparm_service)(void);\n"); $file->("\tstruct loadparm_service * (*get_servicebynum)(int snum);\n"); $file->("\tint (*get_numservices)(void);\n"); + $file->("\tbool (*load)(const char *filename);\n"); $file->("\tbool (*set_cmdline)(const char *pszParmName, const char *pszParmValue);\n"); } |