X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1ddb1855402d48ad735e46abaf0d662e45600ecd..8d6cb5fdac4b2bab0922fe431e12d8f7cc02d723:/src/src/exim.c diff --git a/src/src/exim.c b/src/src/exim.c index 9da921a5c..8fff9f6a3 100644 --- a/src/src/exim.c +++ b/src/src/exim.c @@ -944,7 +944,7 @@ else int rc = verify_address(deliver_make_addr(address,TRUE), stdout, flags, -1, -1, -1, NULL, NULL, NULL); if (rc == FAIL) *exit_value = 2; - else if (rc == DEFER && *exit_value == 0) *exit_value = 1; + else if (rc == DEFER && *exit_value == 0) *exit_value = 1; } } @@ -954,12 +954,13 @@ else * Show supported features * *************************************************/ -void +static void show_string(BOOL is_stdout, gstring * g) { const uschar * s = string_from_gstring(g); -if (is_stdout) fputs(CCS s, stdout); -else debug_printf("%s", s); +if (s) + if (is_stdout) fputs(CCS s, stdout); + else debug_printf("%s", s); } @@ -1120,9 +1121,6 @@ g = string_cat(g, US"Support for:"); #ifdef EXPERIMENTAL_QUEUEFILE g = string_cat(g, US" Experimental_QUEUEFILE"); #endif -#if defined(EXPERIMENTAL_SRS_ALT) - g = string_cat(g, US" Experimental_SRS"); -#endif g = string_cat(g, US"\n"); g = string_cat(g, US"Lookups (built-in):"); @@ -2657,21 +2655,36 @@ on the second character (the one after '-'), to save some effort. */ #endif break; - /* -d: Set debug level (see also -v below) or set the drop_cr option. - The latter is now a no-op, retained for compatibility only. If -dd is used, - debugging subprocesses of the daemon is disabled. */ - case 'd': + + /* -dropcr: Set this option. Now a no-op, retained for compatibility only. */ + if (Ustrcmp(argrest, "ropcr") == 0) { /* drop_cr = TRUE; */ } - /* Use an intermediate variable so that we don't set debugging while - decoding the debugging bits. */ + /* -dp: Set up a debug pretrigger buffer with given size. */ + + else if (Ustrcmp(argrest, "p") == 0) + if (++i >= argc) + badarg = TRUE; + else + debug_pretrigger_setup(argv[i]); + + /* -dt: Set a debug trigger selector */ + + else if (Ustrncmp(argrest, "t=", 2) == 0) + dtrigger_selector = (unsigned int) Ustrtol(argrest + 2, NULL, 0); + + /* -d: Set debug level (see also -v below). + If -dd is used, debugging subprocesses of the daemon is disabled. */ else { + /* Use an intermediate variable so that we don't set debugging while + decoding the debugging bits. */ + unsigned int selector = D_default; debug_selector = 0; debug_file = NULL;