git/compat
Johannes Sixt df599e9612 Windows: teach getenv to do a case-sensitive search
getenv() on Windows looks up environment variables in a case-insensitive
manner. Even though all documentations claim that the environment is
case-insensitive, it is possible for applications to pass an environment
to child processes that has variables that differ only in case. Bash on
Windows does this, for example, and sh-i18n--envsubst depends on this
behavior.

With this patch environment variables are first looked up in a
case-sensitive manner; only if this finds nothing, the system's getenv() is
used as a fallback.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-06-06 11:35:10 -07:00
..
fnmatch Fix more typos/spelling in comments 2009-04-22 19:03:39 -07:00
nedmalloc remove doubled words, e.g., s/to to/to/, and fix related typos 2011-04-13 11:59:11 -07:00
regex Fix compat/regex ANSIfication on MinGW 2010-08-26 09:25:53 -07:00
vcbuild Merge branch 'rj/msvc-fix' 2010-12-16 12:55:36 -08:00
win32 Merge branch 'rj/msvc-fix' 2010-12-16 12:55:36 -08:00
basename.c compat: add a basename() compatibility function 2009-05-31 17:57:59 -07:00
bswap.h compat: make gcc bswap an inline function 2011-03-16 12:44:59 -07:00
cygwin.c Fix more typos/spelling in comments 2009-04-22 19:03:39 -07:00
cygwin.h cygwin: Use native Win32 API for stat 2008-09-30 14:30:06 -07:00
fopen.c compat/fopen.c: avoid clobbering the system defined fopen macro 2008-05-08 17:43:01 -07:00
hstrerror.c Add a local implementation of hstrerror for the system which do not have it 2007-06-15 22:48:34 -07:00
inet_ntop.c inet_ntop: fix a couple of old-style decls 2010-11-04 16:53:50 -07:00
inet_pton.c compat: add inet_pton and inet_ntop prototypes 2010-11-04 16:53:49 -07:00
memmem.c optimize compat/ memmem() 2009-03-02 18:28:06 -08:00
mingw.c Windows: teach getenv to do a case-sensitive search 2011-06-06 11:35:10 -07:00
mingw.h Merge branch 'sp/maint-fd-limit' 2011-03-15 14:22:23 -07:00
mkdtemp.c Fix gitmkdtemp: correct test for mktemp() return value 2010-02-25 12:08:22 -08:00
mmap.c War on whitespace 2007-06-07 00:04:01 -07:00
msvc.c win32: use our own dirent.h 2010-11-23 16:06:50 -08:00
msvc.h compat: provide a fallback va_copy definition 2011-02-26 01:06:50 -08:00
pread.c Replacing the system call pread() with lseek()/xread()/lseek() sequence. 2007-01-09 16:40:40 -08:00
qsort.c compat: Add simplified merge sort implementation from glibc 2008-02-06 22:35:28 -08:00
setenv.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
snprintf.c Test for WIN32 instead of __MINGW32_ 2009-09-18 20:00:42 -07:00
strcasestr.c Clean up compatibility definitions. 2005-12-05 15:50:29 -08:00
strlcpy.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
strtok_r.c compat: add strtok_r() 2010-08-14 19:35:38 -07:00
strtoumax.c Add a compat/strtoumax.c for Solaris 8. 2007-02-19 18:20:30 -08:00
unsetenv.c simplify inclusion of system header files. 2006-12-20 09:51:35 -08:00
win32.h Make usage of windows.h lean and mean 2009-09-18 20:00:42 -07:00
win32mmap.c Fix "Out of memory? mmap failed" for files larger than 4GB on Windows 2010-05-20 16:11:06 -07:00
winansi.c Make usage of windows.h lean and mean 2009-09-18 20:00:42 -07:00