diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2019-03-22 15:00:23 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2019-03-22 15:02:44 +0000 |
commit | e6024a5e9e193f559508d05ee401ae8f7f3c25ae (patch) | |
tree | 6c6aff8704cc943db92cbf8f9c264e671f5ca16f /src | |
parent | dbb8fff1d199ba2f88bbbc09a87b883022d77f3f (diff) |
Fix "-bP smtp_receive_timeout". Bug 2384
Diffstat (limited to 'src')
-rw-r--r-- | src/src/readconf.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/src/readconf.c b/src/src/readconf.c index 71cdae899..150d7973d 100644 --- a/src/src/readconf.c +++ b/src/src/readconf.c @@ -19,7 +19,7 @@ implementation of the conditional .ifdef etc. */ static uschar * syslog_facility_str; -static void fn_smtp_receive_timeout(const uschar *, const uschar *); +static void fn_smtp_receive_timeout(const uschar *, const uschar *, unsigned); /************************************************* * Main configuration options * @@ -389,7 +389,8 @@ static int optionlist_config_size = nelem(optionlist_config); #ifdef MACRO_PREDEF -static void fn_smtp_receive_timeout(const uschar * name, const uschar * str) {/*Dummy*/} +static void +fn_smtp_receive_timeout(const uschar * name, const uschar * str, unsigned flags) {/*Dummy*/} void options_main(void) @@ -554,6 +555,8 @@ static syslog_fac_item syslog_list[] = { static int syslog_list_size = sizeof(syslog_list)/sizeof(syslog_fac_item); +#define opt_fn_print BIT(0) +#define opt_fn_print_label BIT(1) /************************************************* @@ -1522,9 +1525,16 @@ return yield; * Custom-handler options * *************************************************/ static void -fn_smtp_receive_timeout(const uschar * name, const uschar * str) +fn_smtp_receive_timeout(const uschar * name, const uschar * str, unsigned flags) { -if (*str == '$') +if (flags & opt_fn_print) + { + if (flags & opt_fn_print_label) printf("%s = ", name); + printf("%s\n", smtp_receive_timeout_s + ? string_printing2(smtp_receive_timeout_s, FALSE) + : readconf_printtime(smtp_receive_timeout)); + } +else if (*str == '$') smtp_receive_timeout_s = string_copy(str); else { @@ -2318,7 +2328,7 @@ switch (type) case opt_func: { void (*fn)() = ol->value; - fn(name, s); + fn(name, s, 0); break; } } @@ -2657,6 +2667,13 @@ switch(ol->type & opt_mask) case opt_bool_set: printf("%s%s\n", (*((BOOL *)value))? "" : "no_", name); break; + + case opt_func: + { + void (*fn)() = ol->value; + fn(name, NULL, no_labels ? opt_fn_print : opt_fn_print|opt_fn_print_label); + break; + } } return TRUE; } |