summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2014-02-26 13:22:33 +1300
committerJeremy Allison <jra@samba.org>2014-05-07 19:49:17 +0200
commita900fa09ecf90749f1bc6326dbae3b6143c37b7a (patch)
treeee0aafc8ab3c13c20e19e278f52f4310a7161268
parent8363106d9a78aaf4dd788c1e11fb23dcd889a3dd (diff)
downloadsamba-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>
-rw-r--r--lib/param/loadparm.c26
-rw-r--r--source3/param/loadparm.c26
2 files changed, 26 insertions, 26 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;
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 358e62089e5..a0912ac95ff 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -3061,9 +3061,6 @@ static void dump_a_service(struct loadparm_service *pService, FILE * f)
bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal)
{
bool result = false;
- char *local_parm_name;
- char *parm_opt;
- const char *parm_opt_value;
struct loadparm_context *lp_ctx;
@@ -3072,29 +3069,6 @@ bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal)
return false;
}
- /* check for parametrical option */
- local_parm_name = talloc_strdup(lp_ctx, parm_name);
- if (local_parm_name == NULL) {
- TALLOC_FREE(lp_ctx);
- return false;
- }
-
- parm_opt = strchr( local_parm_name, ':');
-
- if (parm_opt) {
- *parm_opt = '\0';
- parm_opt++;
- if (strlen(parm_opt)) {
- parm_opt_value = lp_parm_const_string( snum,
- local_parm_name, parm_opt, NULL);
- if (parm_opt_value) {
- fprintf(f, "%s\n", parm_opt_value);
- result = true;
- }
- }
- return result;
- }
-
if (isGlobal) {
result = lpcfg_dump_a_parameter(lp_ctx, NULL, parm_name, f);
} else {