mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
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,05bab3eaand0117c2f0. 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
9
path.c
9
path.c
@@ -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/";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user