diff options
author | Ramsay Jones <ramsay@ramsay1.demon.co.uk> | 2013-06-22 20:42:47 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-18 10:44:17 -0700 |
commit | f66450ae94f28a565226c3e443df5433722c5672 (patch) | |
tree | 7e2a224187ca1f1a5758e37ac7d6e5b5a0207372 /path.c | |
parent | 001b0976afe6f41bff46aa3eaad0285b641a50ea (diff) | |
download | git-f66450ae94f28a565226c3e443df5433722c5672.tar.gz |
cygwin: Remove the Win32 l/stat() implementationrj/cygwin-clarify-use-of-cheating-lstat
Commit adbc0b6b ("cygwin: Use native Win32 API for stat", 30-09-2008)
added a Win32 specific implementation of the stat functions. In order
to handle absolute paths, cygwin mount points and symbolic links, this
implementation may fall back on the standard cygwin l/stat() functions.
Also, the choice of cygwin or Win32 functions is made lazily (by the
first call(s) to l/stat) based on the state of some config variables.
Unfortunately, this "schizophrenic stat" implementation has been the
source of many problems ever since. For example, see commits 7faee6b8,
79748439, 452993c2, 085479e7, b8a97333, 924aaf3e, 05bab3ea and 0117c2f0.
In order to avoid further problems, such as the issue raised by the new
reference handling API, remove the Win32 l/stat() implementation.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'path.c')
-rw-r--r-- | path.c | 9 |
1 files changed, 1 insertions, 8 deletions
@@ -5,13 +5,7 @@ #include "strbuf.h" #include "string-list.h" -#ifndef get_st_mode_bits -/* - * The replacement lstat(2) we use on Cygwin is incomplete and - * may return wrong permission bits. Most of the time we do not care, - * but the callsites of this wrapper do care. - */ -int get_st_mode_bits(const char *path, int *mode) +static int get_st_mode_bits(const char *path, int *mode) { struct stat st; if (lstat(path, &st) < 0) @@ -19,7 +13,6 @@ int get_st_mode_bits(const char *path, int *mode) *mode = st.st_mode; return 0; } -#endif static char bad_path[] = "/bad-path/"; |