diff options
author | Karsten Blees <blees@dcon.de> | 2014-07-17 17:37:54 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-07-17 10:54:14 -0700 |
commit | 9ae1afa5e659dc61602e8f50fe469c21a9704319 (patch) | |
tree | e1a802636cc56a83ae970f8a4ca812e31c63e4d1 | |
parent | e6ce2be2d7a70dfa3241f70ae236da4a63625ef8 (diff) | |
download | git-9ae1afa5e659dc61602e8f50fe469c21a9704319.tar.gz git-9ae1afa5e659dc61602e8f50fe469c21a9704319.tar.xz |
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 <blees@dcon.de>
Signed-off-by: Stepan Kasal <kasal@ucw.cz>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | compat/mingw.c | 23 |
1 files changed, 3 insertions, 20 deletions
diff --git a/compat/mingw.c b/compat/mingw.c index c19e3d954..ca1b6bd6a 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; } |