summaryrefslogtreecommitdiff
path: root/job.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2013-04-29 19:17:07 +0300
committerEli Zaretskii <eliz@gnu.org>2013-04-29 19:17:07 +0300
commit9a7fe22b197770271a2235062fe52cb1c71a3d9e (patch)
tree0fba9df7de18b86b7e2a08ba5ab41bf3e82a5cff /job.c
parent9253a34a57be0c6688278d120c450d1e81971a31 (diff)
downloadgunmake-9a7fe22b197770271a2235062fe52cb1c71a3d9e.tar.gz
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.
Diffstat (limited to 'job.c')
-rw-r--r--job.c6
1 files changed, 3 insertions, 3 deletions
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;
}