diff options
author | Lars Müller <lmuelle@samba.org> | 2006-04-02 21:12:23 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:15:52 -0500 |
commit | a0d84ccc02e19d22d827e7d052fab6d471f0a1b3 (patch) | |
tree | b52022bd35c537f191184ba2b66382a3fb6aec48 /source/param | |
parent | 021b3dc2db9fb422ede4657a1f27ef7ef2d22cee (diff) | |
download | samba-a0d84ccc02e19d22d827e7d052fab6d471f0a1b3.tar.gz samba-a0d84ccc02e19d22d827e7d052fab6d471f0a1b3.tar.xz samba-a0d84ccc02e19d22d827e7d052fab6d471f0a1b3.zip |
r14869: Allow to dump a paramatrical option.
Flaw: We print an empty line if the paramatrical option is not defined
in the requested section.
Diffstat (limited to 'source/param')
-rw-r--r-- | source/param/loadparm.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/source/param/loadparm.c b/source/param/loadparm.c index 7644843fc53..7d3995f092b 100644 --- a/source/param/loadparm.c +++ b/source/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) && |