case EITEM_RUN:
{
FILE * f;
- uschar * arg;
- const uschar ** argv;
- pid_t pid;
- int fd_in, fd_out;
+ const uschar * arg, ** argv;
if ((expand_forbid & RDO_RUN) != 0)
{
}
Uskip_whitespace(&s);
- if (*s != '{')
+ if (*s != '{') /*}*/
{
expand_string_message = US"missing '{' for command arg of run";
- goto EXPAND_FAILED_CURLY;
+ goto EXPAND_FAILED_CURLY; /*"}*/
}
if (!(arg = expand_string_internal(s+1, TRUE, &s, skipping, TRUE, &resetok)))
goto EXPAND_FAILED;
Uskip_whitespace(&s);
+ /*{*/
if (*s++ != '}')
- {
+ { /*{*/
expand_string_message = US"missing '}' closing command arg of run";
goto EXPAND_FAILED_CURLY;
}
}
else
{
+ int fd_in, fd_out;
+ pid_t pid;
+
if (!transport_set_up_command(&argv, /* anchor for arg list */
arg, /* raw command */
FALSE, /* don't expand the arguments */
expand_string_message =
string_sprintf("couldn't create child process: %s", strerror(errno));
goto EXPAND_FAILED;
- }
+ }
/* Nothing is written to the standard input. */
goto EXPAND_FAILED; /*{{*/
if (*s++ != '}')
{
- /*{*/
expand_string_message =
string_sprintf("missing '}' closing first arg of %s", name);
goto EXPAND_FAILED_CURLY;
#endif
);
extern uschar *transport_rcpt_address(address_item *, BOOL);
-extern BOOL transport_set_up_command(const uschar ***, uschar *,
+extern BOOL transport_set_up_command(const uschar ***, const uschar *,
BOOL, int, address_item *, const uschar *, uschar **);
extern void transport_update_waiting(host_item *, uschar *);
extern BOOL transport_write_block(transport_ctx *, uschar *, int, BOOL);
*/
BOOL
-transport_set_up_command(const uschar ***argvptr, uschar *cmd,
+transport_set_up_command(const uschar *** argvptr, const uschar * cmd,
BOOL expand_arguments, int expand_failed, address_item *addr,
const uschar * etext, uschar ** errptr)
{