From 9a7fe22b197770271a2235062fe52cb1c71a3d9e Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 29 Apr 2013 19:17:07 +0300 Subject: [PATCH] Fix the .ONESHELL operation on MS-Windows. job.c (construct_command_argv_internal) [WINDOWS32]: Return right after generating new_argv for one_shell case. This fixes the Windows build for both Unixy shell and stock Windows shells. --- ChangeLog | 6 ++++++ job.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index edf30c3..e297795 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2013-04-29 Eli Zaretskii + + * job.c (construct_command_argv_internal) [WINDOWS32]: Return + right after generating new_argv for one_shell case. This fixes + the Windows build for both Unixy shell and stock Windows shells. + 2013-04-28 Eli Zaretskii * dir.c (local_stat) [WINDOWS32]: Use the wrapper on MS-Windows. diff --git a/job.c b/job.c index 91da29b..2a470b6 100644 --- a/job.c +++ b/job.c @@ -3335,7 +3335,7 @@ construct_command_argv_internal (char *line, char **restp, char *shell, *t = '\0'; } #ifdef WINDOWS32 - else /* non-Posix shell */ + else /* non-Posix shell (cmd.exe etc.) */ { const char *f = line; char *t = line; @@ -3404,8 +3404,9 @@ construct_command_argv_internal (char *line, char **restp, char *shell, new_argv = xmalloc (2 * sizeof (char *)); new_argv[0] = xstrdup (*batch_filename); new_argv[1] = NULL; + return new_argv; } -#else /* WINDOWS32 */ +#endif /* WINDOWS32 */ /* Create an argv list for the shell command line. */ { int n = 0; @@ -3429,7 +3430,6 @@ construct_command_argv_internal (char *line, char **restp, char *shell, new_argv[n++] = line; new_argv[n++] = NULL; } -#endif /* WINDOWS32 */ return new_argv; } -- 2.7.4