From 570b49f33faf99491220faeca98c36086fe9f71f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Lars=20M=C3=BCller?= Date: Sun, 2 Apr 2006 21:12:23 +0000 Subject: [PATCH] r14869: Allow to dump a paramatrical option. Flaw: We print an empty line if the paramatrical option is not defined in the requested section. (This used to be commit a0d84ccc02e19d22d827e7d052fab6d471f0a1b3) --- source3/param/loadparm.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 7644843fc53..7d3995f092b 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -3880,13 +3880,31 @@ BOOL dump_a_parameter(int snum, char *parm_name, FILE * f, BOOL isGlobal) int i, result = False; parm_class p_class; unsigned flag = 0; + fstring local_parm_name; + char *parm_opt; + + /* check for parametrical option */ + fstrcpy( local_parm_name, parm_name); + parm_opt = strchr( local_parm_name, ':'); + + if (parm_opt) { + *parm_opt = '\0'; + parm_opt++; + if (strlen(parm_opt)) { + printf( "%s\n", lp_parm_const_string( snum, + local_parm_name, parm_opt, "")); + result = True; + } + return result; + } + /* check for a key and print the value */ if (isGlobal) { p_class = P_GLOBAL; flag = FLAG_GLOBAL; } else p_class = P_LOCAL; - + for (i = 0; parm_table[i].label; i++) { if (strwicmp(parm_table[i].label, parm_name) == 0 && (parm_table[i].p_class == p_class || parm_table[i].flags & flag) && -- 2.11.4.GIT