From: Johannes Schindelin Date: Thu, 19 Sep 2019 15:05:21 +0000 (+0200) Subject: mingw: detect when MSYS2's sh is to be spawned more robustly X-Git-Tag: v2.24.1~1^2~1^2~1^2~1^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e2ba3d6f6d1c2b0e7e501ae01a0e839a6f537188;p=thirdparty%2Fgit.git mingw: detect when MSYS2's sh is to be spawned more robustly Signed-off-by: Johannes Schindelin --- diff --git a/compat/mingw.c b/compat/mingw.c index 0e14cab012..5dbaae981e 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1391,7 +1391,10 @@ static inline int match_last_path_component(const char *path, size_t *len, static int is_msys2_sh(const char *cmd) { - if (cmd && !strcmp(cmd, "sh")) { + if (!cmd) + return 0; + + if (!strcmp(cmd, "sh")) { static int ret = -1; char *p; @@ -1411,6 +1414,16 @@ static int is_msys2_sh(const char *cmd) } return ret; } + + if (ends_with(cmd, "\\sh.exe")) { + static char *sh; + + if (!sh) + sh = path_lookup("sh", 0); + + return !fspathcmp(cmd, sh); + } + return 0; }