Skip to content

Commit 1467b4c

Browse files
committed
Merge branch 'spawn-with-spaces'
This change lets us spawn .bat scripts whose paths contain spaces. Signed-off-by: Johannes Schindelin <[email protected]>
2 parents c6f8ee3 + a4baec1 commit 1467b4c

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

compat/mingw.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,9 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
15131513
si.hStdError = winansi_get_osfhandle(fherr);
15141514

15151515
/* executables and the current directory don't support long paths */
1516-
if (xutftowcs_path(wcmd, cmd) < 0)
1516+
if (*argv && !strcmp(cmd, *argv))
1517+
wcmd[0] = L'\0';
1518+
else if (xutftowcs_path(wcmd, cmd) < 0)
15171519
return -1;
15181520
if (dir && xutftowcs_path(wdir, dir) < 0)
15191521
return -1;
@@ -1567,8 +1569,8 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
15671569
wenvblk = make_environment_block(deltaenv);
15681570

15691571
memset(&pi, 0, sizeof(pi));
1570-
ret = CreateProcessW(wcmd, wargs, NULL, NULL, TRUE, flags,
1571-
wenvblk, dir ? wdir : NULL, &si, &pi);
1572+
ret = CreateProcessW(*wcmd ? wcmd : NULL, wargs, NULL, NULL, TRUE,
1573+
flags, wenvblk, dir ? wdir : NULL, &si, &pi);
15721574

15731575
free(wenvblk);
15741576
free(wargs);

0 commit comments

Comments
 (0)