summaryrefslogtreecommitdiff
path: root/compat/mingw.c
diff options
context:
space:
mode:
authorLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2019-09-19 17:05:45 +0200
committerLibravatar Johannes Schindelin <johannes.schindelin@gmx.de>2019-12-06 16:31:14 +0100
commit49f7a76d57c78e55f2f72e44664824f3fecb8837 (patch)
tree51c56a0280b9f8d0cf4986c5e492fd1a424d5559 /compat/mingw.c
parentmingw: detect when MSYS2's sh is to be spawned more robustly (diff)
downloadtgif-49f7a76d57c78e55f2f72e44664824f3fecb8837.tar.xz
mingw: use MSYS2 quoting even when spawning shell scripts
At the point where `mingw_spawn_fd()` is called, we already have a full path to the script interpreter in that scenario, and we pass it in as the executable to run, while the `argv` reflect what the script should receive as command-line. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'compat/mingw.c')
-rw-r--r--compat/mingw.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/compat/mingw.c b/compat/mingw.c
index 5dbaae981e..32fc02e360 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1439,7 +1439,8 @@ static pid_t mingw_spawnve_fd(const char *cmd, const char **argv, char **deltaen
BOOL ret;
HANDLE cons;
const char *(*quote_arg)(const char *arg) =
- is_msys2_sh(*argv) ? quote_arg_msys2 : quote_arg_msvc;
+ is_msys2_sh(cmd ? cmd : *argv) ?
+ quote_arg_msys2 : quote_arg_msvc;
do_unset_environment_variables();