s3-param: Use lpcfg_dump_a_parameter in dump_a_parameter
authorAndrew Bartlett <abartlet@samba.org>
Wed, 15 Jan 2014 00:48:22 +0000 (13:48 +1300)
committerMichael Adam <obnox@samba.org>
Thu, 30 Jan 2014 00:13:51 +0000 (01:13 +0100)
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/param/loadparm.c

index 180f7c836b8472f03946cf85152de3471631f385..53541c4d673b8caa552c9f1424917f2c0413a5a8 100644 (file)
@@ -3684,11 +3684,11 @@ 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;
-       struct parm_struct *p_struct;
        fstring local_parm_name;
        char *parm_opt;
        const char *parm_opt_value;
-       void *ptr;
+
+       struct loadparm_context *lp_ctx;
 
        /* check for parametrical option */
        fstrcpy( local_parm_name, parm_name);
@@ -3708,24 +3708,18 @@ bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal)
                return result;
        }
 
-       p_struct = lp_get_parameter(parm_name);
-
-       if (p_struct == NULL) {
+       lp_ctx = loadparm_init_s3(talloc_tos(), loadparm_s3_helpers());
+       if (lp_ctx == NULL) {
                return false;
        }
 
        if (isGlobal) {
-               ptr = lp_parm_ptr(NULL,
-                                 p_struct);
+               result = lpcfg_dump_a_parameter(lp_ctx, NULL, parm_name, f);
        } else {
-               ptr = lp_parm_ptr(ServicePtrs[snum],
-                                 p_struct);
+               result = lpcfg_dump_a_parameter(lp_ctx, ServicePtrs[snum], parm_name, f);
        }
-
-       lpcfg_print_parameter(p_struct,
-                             ptr, f);
-       fprintf(f, "\n");
-       return true;
+       TALLOC_FREE(lp_ctx);
+       return result;
 }
 
 /***************************************************************************