Add MinGW-specific execv() override.

As of 2dbc887e, shell.c employs execv(), so provide a MinGW-specific
mingw_execv() override, complementing existing mingw_execvp() and
cousins.

As a bonus, this also resolves a compilation warning due to an
execv() prototype mismatch between Linux and MinGW. Linux expects
the second argument to be (char *const *), whereas MinGW expects
(const char *const *).

Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Acked-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
This commit is contained in:
Eric Sunshine 2010-09-27 07:02:17 -04:00 committed by Pat Thoyts
parent 77df1f1edf
commit 5debf9a5ac
2 changed files with 7 additions and 0 deletions

View File

@ -904,6 +904,11 @@ void mingw_execvp(const char *cmd, char *const *argv)
free_path_split(path);
}
void mingw_execv(const char *cmd, char *const *argv)
{
mingw_execve(cmd, argv, environ);
}
static char **copy_environ(void)
{
char **env;

View File

@ -256,6 +256,8 @@ pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
int fhin, int fhout, int fherr);
void mingw_execvp(const char *cmd, char *const *argv);
#define execvp mingw_execvp
void mingw_execv(const char *cmd, char *const *argv);
#define execv mingw_execv
static inline unsigned int git_ntohl(unsigned int x)
{ return (unsigned int)ntohl(x); }