mirror of
https://github.com/git/git
synced 2024-08-28 20:20:07 +00:00
Merge branch 'js/mingw-spawn-with-spaces-in-path'
Window 7 update ;-) * js/mingw-spawn-with-spaces-in-path: mingw: support spawning programs containing spaces in their names
This commit is contained in:
commit
a5194d806c
|
@ -1437,7 +1437,9 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
|
||||||
si.hStdOutput = winansi_get_osfhandle(fhout);
|
si.hStdOutput = winansi_get_osfhandle(fhout);
|
||||||
si.hStdError = winansi_get_osfhandle(fherr);
|
si.hStdError = winansi_get_osfhandle(fherr);
|
||||||
|
|
||||||
if (xutftowcs_path(wcmd, cmd) < 0)
|
if (*argv && !strcmp(cmd, *argv))
|
||||||
|
wcmd[0] = L'\0';
|
||||||
|
else if (xutftowcs_path(wcmd, cmd) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
if (dir && xutftowcs_path(wdir, dir) < 0)
|
if (dir && xutftowcs_path(wdir, dir) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -1466,8 +1468,8 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
|
||||||
wenvblk = make_environment_block(deltaenv);
|
wenvblk = make_environment_block(deltaenv);
|
||||||
|
|
||||||
memset(&pi, 0, sizeof(pi));
|
memset(&pi, 0, sizeof(pi));
|
||||||
ret = CreateProcessW(wcmd, wargs, NULL, NULL, TRUE, flags,
|
ret = CreateProcessW(*wcmd ? wcmd : NULL, wargs, NULL, NULL, TRUE,
|
||||||
wenvblk, dir ? wdir : NULL, &si, &pi);
|
flags, wenvblk, dir ? wdir : NULL, &si, &pi);
|
||||||
|
|
||||||
free(wenvblk);
|
free(wenvblk);
|
||||||
free(wargs);
|
free(wargs);
|
||||||
|
|
|
@ -210,4 +210,10 @@ test_expect_success MINGW 'verify curlies are quoted properly' '
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success MINGW 'can spawn with argv[0] containing spaces' '
|
||||||
|
cp "$GIT_BUILD_DIR/t/helper/test-fake-ssh$X" ./ &&
|
||||||
|
test_must_fail "$PWD/test-fake-ssh$X" 2>err &&
|
||||||
|
grep TRASH_DIRECTORY err
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
|
Loading…
Reference in a new issue