From 9ae1afa5e659dc61602e8f50fe469c21a9704319 Mon Sep 17 00:00:00 2001 From: Karsten Blees Date: Thu, 17 Jul 2014 17:37:54 +0200 Subject: [PATCH] Revert "Windows: teach getenv to do a case-sensitive search" This reverts commit df599e9612788b728ce43a03159b85f1fe624d6a. As of 5e9637c6 "i18n: add infrastructure for translating Git with gettext", eval_gettext uses MinGW envsubst.exe instead of git-sh-i18n--envsubst.exe for variable substitution. This breaks git-submodule.sh messages and tests, as envsubst.exe doesn't support case-sensitive environment lookup (the same is true for almost everything on Windows, including MSys and Cygwin tools). 30a615ac "Windows/i18n: rename $path to prevent clashes with $PATH" renames the conflicting variable in git-submodule.sh, so that it works on Windows (i.e. with case-insensitive environment, regardless of the toolset). Revert to the documented behaviour of case-insensitive environment on Windows. Signed-off-by: Karsten Blees Signed-off-by: Stepan Kasal Signed-off-by: Junio C Hamano --- compat/mingw.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/compat/mingw.c b/compat/mingw.c index c19e3d954b..ca1b6bd6ab 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -1245,31 +1245,14 @@ char **make_augmented_environ(const char *const *vars) } #undef getenv - -/* - * The system's getenv looks up the name in a case-insensitive manner. - * This version tries a case-sensitive lookup and falls back to - * case-insensitive if nothing was found. This is necessary because, - * as a prominent example, CMD sets 'Path', but not 'PATH'. - * Warning: not thread-safe. - */ -static char *getenv_cs(const char *name) -{ - size_t len = strlen(name); - int i = lookup_env(environ, name, len); - if (i >= 0) - return environ[i] + len + 1; /* skip past name and '=' */ - return getenv(name); -} - char *mingw_getenv(const char *name) { - char *result = getenv_cs(name); + char *result = getenv(name); if (!result && !strcmp(name, "TMPDIR")) { /* on Windows it is TMP and TEMP */ - result = getenv_cs("TMP"); + result = getenv("TMP"); if (!result) - result = getenv_cs("TEMP"); + result = getenv("TEMP"); } return result; } -- 2.32.0.93.g670b81a890