git-commit-vandalism/compat
Pat Thoyts 9b9784cab9 MinGW: fix stat() and lstat() implementations for handling symlinks
In msysGit the stat() function has been implemented using mingw_lstat
which sets the st_mode member to S_IFLNK when a symbolic links is found.
This causes the is_executable function to return when git attempts to
build a list of available commands in the help code and we end up missing
most git commands. (msysGit issue #445)

This patch modifies the implementation so that lstat() will return the link
flag but if we are called as stat() we read the size of the target and set
the mode to that of a regular file.

Includes squashed fix st_mode for symlink dirs

Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
2010-10-01 23:08:44 +01:00
..
fnmatch Fix more typos/spelling in comments 2009-04-22 19:03:39 -07:00
nedmalloc Typos in code comments, an error message, documentation 2010-08-22 13:25:08 -07:00
regex Fix compat/regex ANSIfication on MinGW 2010-08-26 09:25:53 -07:00
vcbuild Merge branch 'maint-1.6.6' into maint 2010-04-19 01:28:27 -07:00
win32 Merge branch 'js/async-thread' 2010-06-21 06:02:45 -07:00
basename.c compat: add a basename() compatibility function 2009-05-31 17:57:59 -07:00
bswap.h Don't redefine htonl and ntohl on big-endian 2010-03-31 14:21:39 -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 Remove a couple of duplicated include 2007-11-05 20:50:38 -08:00
inet_pton.c Remove a couple of duplicated include 2007-11-05 20:50:38 -08:00
memmem.c optimize compat/ memmem() 2009-03-02 18:28:06 -08:00
mingw.c MinGW: fix stat() and lstat() implementations for handling symlinks 2010-10-01 23:08:44 +01:00
mingw.h MinGW: fix stat() and lstat() implementations for handling symlinks 2010-10-01 23:08:44 +01: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 Add platform files for porting to MSVC 2009-09-18 20:00:42 -07:00
msvc.h MSVC: Fix an "incompatible pointer types" compiler warning 2010-01-16 16:43:55 -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