From: Heiko Schlittermann (HS12-RIPE) Date: Fri, 13 Nov 2015 09:51:00 +0000 (+0100) Subject: Hide hidden lines for -bP config X-Git-Tag: exim-4_87_RC1~47 X-Git-Url: https://git.exim.org/exim.git/commitdiff_plain/ce133ea613d35214340b24a8ef2097e00ddb3678 Hide hidden lines for -bP config --- diff --git a/src/src/readconf.c b/src/src/readconf.c index 6767465a0..f127d5202 100644 --- a/src/src/readconf.c +++ b/src/src/readconf.c @@ -4246,7 +4246,8 @@ save_config_position(const uschar *file, int line) /* Append a pre-parsed logical line to the config lines store, this operates on a global (static) list that holds all the pre-parsed -config lines */ +config lines, we do no further processing here, output formatting and +honouring of or macros will be done during output */ static void save_config_line(const uschar* line) { @@ -4309,20 +4310,23 @@ for (i = config_lines; i; i = i->next) continue; } - /* as admin we don't care, as we do for "public" lines */ - if (admin || (!isupper(*current) && (strcmp(current, "hide") != 0))) + /* hidden lines (MACROS or prefixed with hide) */ + if (!admin && (isupper(*current) + || (strncmp(current, "hide", 4) == 0 && isspace(current[4])))) { - printf("%*s%s\n", indent, "", current); + if (p = strchr(current, '=')) + { + *p = '\0'; + printf("%*s%s = %s\n", indent, "", current, hidden); + } + /* e.g.: hide split_spool_directory */ + else printf("%*s\n", indent, hidden); continue; } - /* hidden lines */ - if (p = strchr(current, '=')) - { - *p = '\0'; - printf("%*s%s = %s\n", indent, "", current, hidden); - continue; - } + /* rest is public */ + printf("%*s%s\n", indent, "", current); + continue; } }