mingw: Prepare the TMP environment variable for shell scripts

When shell scripts access a $TMP variable containing backslashes, they
will be mistaken for escape characters. Let's not let that happen by
converting them to forward slashes.

This fixes t7800 with MSys2.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin
2015-02-20 15:41:20 +00:00
parent cfcd37a779
commit 95f12f2b80

View File

@@ -2226,6 +2226,18 @@ void mingw_startup()
environ[i] = xstrdup(to_free + 6);
free(to_free);
}
if (!strncasecmp(environ[i], "TMP=", 4)) {
/*
* Convert all dir separators to forward slashes,
* to help shell commands called from the Git
* executable (by not mistaking the dir separators
* for escape characters).
*/
char *p;
for (p = environ[i]; *p; p++)
if (*p == '\\')
*p = '/';
}
}
environ[i] = NULL;
free(buffer);