Win32: let mingw_execve() return an int

This is in the great tradition of POSIX. Original fix by Olivier Refalo.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2012-05-28 21:21:39 -05:00 committed by Junio C Hamano
parent 51822653f5
commit 570f1e6e1a

View File

@ -1019,7 +1019,7 @@ static int try_shell_exec(const char *cmd, char *const *argv, char **env)
return pid;
}
static void mingw_execve(const char *cmd, char *const *argv, char *const *env)
static int mingw_execve(const char *cmd, char *const *argv, char *const *env)
{
/* check if git_command is a shell script */
if (!try_shell_exec(cmd, argv, (char **)env)) {
@ -1027,11 +1027,12 @@ static void mingw_execve(const char *cmd, char *const *argv, char *const *env)
pid = mingw_spawnve(cmd, (const char **)argv, (char **)env, 0);
if (pid < 0)
return;
return -1;
if (waitpid(pid, &status, 0) < 0)
status = 255;
exit(status);
}
return -1;
}
int mingw_execvp(const char *cmd, char *const *argv)