cygwin: Remove the Win32 l/stat() implementation
Commitadbc0b6b
("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 commits7faee6b8
,79748439
,452993c2
,085479e7
,b8a97333
,924aaf3e
,05bab3ea
and0117c2f0
. 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>
This commit is contained in:

committed by
Junio C Hamano

parent
001b0976af
commit
f66450ae94
@ -1,14 +0,0 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
typedef int (*stat_fn_t)(const char*, struct stat*);
|
||||
extern stat_fn_t cygwin_stat_fn;
|
||||
extern stat_fn_t cygwin_lstat_fn;
|
||||
int cygwin_get_st_mode_bits(const char *path, int *mode);
|
||||
|
||||
#define get_st_mode_bits(p,m) cygwin_get_st_mode_bits((p),(m))
|
||||
#ifndef CYGWIN_C
|
||||
/* cygwin.c needs the original lstat() */
|
||||
#define stat(path, buf) (*cygwin_stat_fn)(path, buf)
|
||||
#define lstat(path, buf) (*cygwin_lstat_fn)(path, buf)
|
||||
#endif
|
Reference in New Issue
Block a user