summaryrefslogtreecommitdiff
path: root/compat/mingw.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2010-04-11 20:54:28 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-04-11 20:54:28 (GMT)
commit4553d58f374c6bfcae6b4be528bbf11c18a7efe5 (patch)
tree44877f9283ffa304e6a805a56f2270fe21b892c7 /compat/mingw.c
parent7b575f3c387f7fd1b204af71a02b3faa74fb7798 (diff)
parentf9a2743c3529baab6de650aa3e3eb96de9386fec (diff)
downloadgit-4553d58f374c6bfcae6b4be528bbf11c18a7efe5.zip
git-4553d58f374c6bfcae6b4be528bbf11c18a7efe5.tar.gz
git-4553d58f374c6bfcae6b4be528bbf11c18a7efe5.tar.bz2
Merge branch 'jl/maint-submodule-gitfile-awareness'
* jl/maint-submodule-gitfile-awareness: Windows: start_command: Support non-NULL dir in struct child_process
Diffstat (limited to 'compat/mingw.c')
-rw-r--r--compat/mingw.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index 3071690..f90a114 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -650,6 +650,7 @@ static int env_compare(const void *a, const void *b)
}
static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
+ const char *dir,
int prepend_cmd, int fhin, int fhout, int fherr)
{
STARTUPINFO si;
@@ -729,7 +730,7 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
memset(&pi, 0, sizeof(pi));
ret = CreateProcess(cmd, args.buf, NULL, NULL, TRUE, flags,
- env ? envblk.buf : NULL, NULL, &si, &pi);
+ env ? envblk.buf : NULL, dir, &si, &pi);
if (env)
strbuf_release(&envblk);
@@ -746,10 +747,11 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **env,
static pid_t mingw_spawnve(const char *cmd, const char **argv, char **env,
int prepend_cmd)
{
- return mingw_spawnve_fd(cmd, argv, env, prepend_cmd, 0, 1, 2);
+ return mingw_spawnve_fd(cmd, argv, env, NULL, prepend_cmd, 0, 1, 2);
}
pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
+ const char *dir,
int fhin, int fhout, int fherr)
{
pid_t pid;
@@ -772,14 +774,14 @@ pid_t mingw_spawnvpe(const char *cmd, const char **argv, char **env,
pid = -1;
}
else {
- pid = mingw_spawnve_fd(iprog, argv, env, 1,
+ pid = mingw_spawnve_fd(iprog, argv, env, dir, 1,
fhin, fhout, fherr);
free(iprog);
}
argv[0] = argv0;
}
else
- pid = mingw_spawnve_fd(prog, argv, env, 0,
+ pid = mingw_spawnve_fd(prog, argv, env, dir, 0,
fhin, fhout, fherr);
free(prog);
}