param: allow dump_globals to check the actual defaults
authorGarming Sam <garming@catalyst.net.nz>
Thu, 20 Mar 2014 21:44:15 +0000 (10:44 +1300)
committerMichael Adam <obnox@samba.org>
Thu, 31 Jul 2014 06:17:11 +0000 (08:17 +0200)
Change-Id: Ia5f30b6922b2e836d3e93403c61458ee58d993fd
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
lib/param/loadparm.c

index 6adeb7ed4658b8dab2b92b7d906e9dc7770c511b..b9edff0ad1d0546495ac9ca9f3ac74767e8fe469 100644 (file)
@@ -2041,8 +2041,16 @@ static void dump_globals(struct loadparm_context *lp_ctx, FILE *f,
        for (i = 0; parm_table[i].label; i++)
                if (parm_table[i].p_class == P_GLOBAL &&
                    (i == 0 || (parm_table[i].offset != parm_table[i - 1].offset))) {
-                       if (!show_defaults && (lp_ctx->flags[i] & FLAG_DEFAULT))
-                               continue;
+                       if (!show_defaults) {
+                               if (lp_ctx->flags && (lp_ctx->flags[i] & FLAG_DEFAULT)) {
+                                       continue;
+                               }
+
+                               if (is_default(lp_ctx->globals, i)) {
+                                       continue;
+                               }
+                       }
+
                        fprintf(f, "\t%s = ", parm_table[i].label);
                        lpcfg_print_parameter(&parm_table[i], lpcfg_parm_ptr(lp_ctx, NULL, &parm_table[i]), f);
                        fprintf(f, "\n");