From 5debf9a5ac89e9ba49dedc960078cf22bba25c50 Mon Sep 17 00:00:00 2001 From: Eric Sunshine Date: Mon, 27 Sep 2010 07:02:17 -0400 Subject: [PATCH] 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 Acked-by: Johannes Sixt Signed-off-by: Eric Sunshine Signed-off-by: Pat Thoyts --- compat/mingw.c | 5 +++++ compat/mingw.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/compat/mingw.c b/compat/mingw.c index bd1403a1d5..6590f33cc8 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -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; diff --git a/compat/mingw.h b/compat/mingw.h index a2213b3911..83e35e833b 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -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); } -- 2.43.2