X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fchild.c;h=de12c44b58aa7afc522415e480883c27bfc026ae;hb=a3382e87b497c0977e0aa852da6cb238f06e1e18;hp=c02264a005a477d2edf8c67a648df41645681a3a;hpb=55414b25bee9f0195ccd1e47f3d3b5cba766e099;p=exim.git diff --git a/src/src/child.c b/src/src/child.c index c02264a00..de12c44b5 100644 --- a/src/src/child.c +++ b/src/src/child.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2015 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -72,9 +72,9 @@ child_exec_exim(int exec_type, BOOL kill_v, int *pcount, BOOL minimal, { int first_special = -1; int n = 0; -int extra = (pcount != NULL)? *pcount : 0; +int extra = pcount ? *pcount : 0; uschar **argv = - store_get((extra + acount + MAX_CLMACROS + 16) * sizeof(char *)); + store_get((extra + acount + MAX_CLMACROS + 18) * sizeof(char *)); /* In all case, the list starts out with the path, any macros, and a changed config file. */ @@ -113,6 +113,11 @@ if (!minimal) if (synchronous_delivery) argv[n++] = US"-odi"; if (connection_max_messages >= 0) argv[n++] = string_sprintf("-oB%d", connection_max_messages); + if (*queue_name) + { + argv[n++] = US"-MCG"; + argv[n++] = queue_name; + } } /* Now add in any others that are in the call. Remember which they were, @@ -217,7 +222,7 @@ pid = fork(); /* Child process: make the reading end of the pipe into the standard input and close the writing end. If debugging, pass debug_fd as stderr. Then re-exec -Exim with appropriat options. In the test harness, use -odi unless queue_only +Exim with appropriate options. In the test harness, use -odi unless queue_only is set, so that the bounce is fully delivered before returning. Failure is signalled with EX_EXECFAILED (specified by CEE_EXEC_EXIT), but this shouldn't occur. */