X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fchild.c;h=de12c44b58aa7afc522415e480883c27bfc026ae;hb=4d3d955f2791199b35704c3e9784dc99fd229696;hp=36d192e9a1ae95a8401cd48a3142102ffe17fc10;hpb=3386088d5af4d4c61faa12ae29560e2c5bd43304;p=exim.git diff --git a/src/src/child.c b/src/src/child.c index 36d192e9a..de12c44b5 100644 --- a/src/src/child.c +++ b/src/src/child.c @@ -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. */