aboutsummaryrefslogtreecommitdiff
path: root/compat
diff options
context:
space:
mode:
authorEric Sunshine <sunshine@sunshineco.com>2010-09-27 07:02:17 -0400
committerPat Thoyts <patthoyts@users.sourceforge.net>2010-10-03 23:34:25 +0100
commit5debf9a5ac89e9ba49dedc960078cf22bba25c50 (patch)
tree0780e10f007f450e444f31490c8c3f59e02aa53e /compat
parent77df1f1edfab61bf605f707aeb3b5f5bd54ffb76 (diff)
downloadgit-5debf9a5ac89e9ba49dedc960078cf22bba25c50.tar.gz
git-5debf9a5ac89e9ba49dedc960078cf22bba25c50.tar.xz
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>
Diffstat (limited to 'compat')
-rw-r--r--compat/mingw.c5
-rw-r--r--compat/mingw.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index bd1403a1d..6590f33cc 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 a2213b391..83e35e833 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); }