diff options
author | Stefan Metzmacher <metze@samba.org> | 2019-10-15 16:52:30 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2019-11-27 10:25:32 +0000 |
commit | ef1f0e9ffe76eaee4b92241ea39d81ea553fa841 (patch) | |
tree | ec81dec9a4a95fd58a1d1bca7aba651bdfe32fa3 /source3/param | |
parent | 3215d357e6af97ac05266b6ab5c8861d7f124815 (diff) | |
download | samba-ef1f0e9ffe76eaee4b92241ea39d81ea553fa841.tar.gz |
param: add FN_{GLOBAL,LOCAL}_SUBSTITUTED_STRING support
Pair-Programmed-With: Ralph Boehme <slow@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Ralph Boehme <slow@samba.org>
Diffstat (limited to 'source3/param')
-rw-r--r-- | source3/param/loadparm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 03e8ec435ba..b08589b22fb 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -1049,6 +1049,9 @@ char *lp_string(TALLOC_CTX *ctx, const char *s) #define FN_GLOBAL_STRING(fn_name,ptr) \ char *lp_ ## fn_name(TALLOC_CTX *ctx) {return(lp_string((ctx), *(char **)(&Globals.ptr) ? *(char **)(&Globals.ptr) : ""));} +#define FN_GLOBAL_SUBSTITUTED_STRING(fn_name,ptr) \ +char *lp_ ## fn_name(TALLOC_CTX *ctx, const struct loadparm_substitution *lp_sub) \ + {return lpcfg_substituted_string(ctx, lp_sub, *(char **)(&Globals.ptr) ? *(char **)(&Globals.ptr) : "");} #define FN_GLOBAL_CONST_STRING(fn_name,ptr) \ const char *lp_ ## fn_name(void) {return(*(const char * const *)(&Globals.ptr) ? *(const char * const *)(&Globals.ptr) : "");} #define FN_GLOBAL_LIST(fn_name,ptr) \ @@ -1062,6 +1065,9 @@ char *lp_ ## fn_name(TALLOC_CTX *ctx) {return(lp_string((ctx), *(char **)(&Globa #define FN_LOCAL_STRING(fn_name,val) \ char *lp_ ## fn_name(TALLOC_CTX *ctx,int i) {return(lp_string((ctx), (LP_SNUM_OK(i) && ServicePtrs[(i)]->val) ? ServicePtrs[(i)]->val : sDefault.val));} +#define FN_LOCAL_SUBSTITUTED_STRING(fn_name,val) \ +char *lp_ ## fn_name(TALLOC_CTX *ctx, const struct loadparm_substitution *lp_sub, int i) \ + {return lpcfg_substituted_string((ctx), lp_sub, (LP_SNUM_OK(i) && ServicePtrs[(i)]->val) ? ServicePtrs[(i)]->val : sDefault.val);} #define FN_LOCAL_CONST_STRING(fn_name,val) \ const char *lp_ ## fn_name(int i) {return (const char *)((LP_SNUM_OK(i) && ServicePtrs[(i)]->val) ? ServicePtrs[(i)]->val : sDefault.val);} #define FN_LOCAL_LIST(fn_name,val) \ |