From: Rusty Russell Date: Mon, 23 Jul 2012 02:49:46 +0000 (+0930) Subject: loadparm: Add ctx member to struct loadparm_global. X-Git-Tag: ldb-1.1.10~65 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=592e3f4b236b3b5c056faca6ca6f060560a3204d;p=thirdparty%2Fsamba.git loadparm: Add ctx member to struct loadparm_global. Rather than tallocing global parameters off NULL, keep it neat by having a Global.ctx member. Signed-off-by: Rusty Russell Signed-off-by: Andrew Bartlett --- diff --git a/script/mkparamdefs.pl b/script/mkparamdefs.pl index b489cc9277a..6b59230b243 100644 --- a/script/mkparamdefs.pl +++ b/script/mkparamdefs.pl @@ -91,12 +91,14 @@ $file->("/* This file was automatically generated by mkparamdefs.pl. DO NOT EDIT $file->(" * This structure describes global (ie., server-wide) parameters.\n"); $file->(" */\n"); $file->("struct loadparm_global \n"); + $file->("{\n"); + $file->("\tTALLOC_CTX *ctx; /* Context for talloced members */\n"); } elsif ($generate_scope eq "LOCAL") { $file->(" * This structure describes a single service.\n"); $file->(" */\n"); $file->("struct loadparm_service \n"); + $file->("{\n"); } -$file->("{\n"); } sub print_footer($$$) diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 1b766c3c468..1cbac61fcc0 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -593,6 +593,7 @@ static void free_global_parameters(void) { free_param_opts(&Globals.param_opt); free_parameters_by_snum(GLOBAL_SECTION_SNUM); + TALLOC_FREE(Globals.ctx); } static int map_parameter(const char *pszParmName); @@ -690,6 +691,8 @@ static void init_globals(bool reinit_globals) * table once the defaults are set */ ZERO_STRUCT(Globals); + Globals.ctx = talloc_new(NULL); + for (i = 0; parm_table[i].label; i++) { if ((parm_table[i].type == P_STRING || parm_table[i].type == P_USTRING))