diff options
author | Garming Sam <garming@catalyst.net.nz> | 2014-02-26 13:22:33 +1300 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2014-05-07 19:49:17 +0200 |
commit | a900fa09ecf90749f1bc6326dbae3b6143c37b7a (patch) | |
tree | ee0aafc8ab3c13c20e19e278f52f4310a7161268 /lib/param/loadparm.c | |
parent | 8363106d9a78aaf4dd788c1e11fb23dcd889a3dd (diff) | |
download | samba-a900fa09ecf90749f1bc6326dbae3b6143c37b7a.tar.gz samba-a900fa09ecf90749f1bc6326dbae3b6143c37b7a.tar.xz samba-a900fa09ecf90749f1bc6326dbae3b6143c37b7a.zip |
param: move parametric parameter dumping to lpcfg_dump_a_parameter
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'lib/param/loadparm.c')
-rw-r--r-- | lib/param/loadparm.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/param/loadparm.c b/lib/param/loadparm.c index bf2002264a6..367c61d29df 100644 --- a/lib/param/loadparm.c +++ b/lib/param/loadparm.c @@ -2002,7 +2002,33 @@ bool lpcfg_dump_a_parameter(struct loadparm_context *lp_ctx, { struct parm_struct *parm; void *ptr; + char *local_parm_name; + char *parm_opt; + const char *parm_opt_value; + /* check for parametrical option */ + local_parm_name = talloc_strdup(lp_ctx, parm_name); + if (local_parm_name == NULL) { + return false; + } + + parm_opt = strchr( local_parm_name, ':'); + + if (parm_opt) { + *parm_opt = '\0'; + parm_opt++; + if (strlen(parm_opt)) { + parm_opt_value = lpcfg_parm_string(lp_ctx, service, + local_parm_name, parm_opt); + if (parm_opt_value) { + fprintf(f, "%s\n", parm_opt_value); + return true; + } + } + return false; + } + + /* parameter is not parametric, search the table */ parm = lpcfg_parm_struct(lp_ctx, parm_name); if (!parm) { return false; |