headers: Remove inline definition of _fstat64i32() and _stat64i32() functions These functions in sys/stat.h are defined as wrappers around _fstat64() and _stat64() functions. But msvcr80+ and UCRT DLL libraries provide native _fstat64i32() and _stat64i32() functions and so it is not needed to use inline fallback wrappers. For pre-msvcr80 builds, mingw-w64 already provides fallback implementations in all CRT import libraries. So remove inline definition of _fstat64i32() and _stat64i32() functions as they are not needed and for msvcr80+ just prevents using them natively. Signed-off-by: Martin Storsjö <martin@martin.st>
diff --git a/mingw-w64-crt/stdio/_fstat64i32.c b/mingw-w64-crt/stdio/_fstat64i32.c index cc72b38..dbc689c 100644 --- a/mingw-w64-crt/stdio/_fstat64i32.c +++ b/mingw-w64-crt/stdio/_fstat64i32.c
@@ -4,7 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#define __CRT__NO_INLINE #include <sys/stat.h> /* When the file size does not fit into the st_size field:
diff --git a/mingw-w64-crt/stdio/_stat64i32.c b/mingw-w64-crt/stdio/_stat64i32.c index 47aa080..a6c3243 100644 --- a/mingw-w64-crt/stdio/_stat64i32.c +++ b/mingw-w64-crt/stdio/_stat64i32.c
@@ -4,7 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#define __CRT__NO_INLINE #include <sys/stat.h> /* When the file size does not fit into the st_size field:
diff --git a/mingw-w64-crt/stdio/_wstat64i32.c b/mingw-w64-crt/stdio/_wstat64i32.c index a48a510..292d0b4 100644 --- a/mingw-w64-crt/stdio/_wstat64i32.c +++ b/mingw-w64-crt/stdio/_wstat64i32.c
@@ -4,7 +4,6 @@ * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ -#define __CRT__NO_INLINE #include <sys/stat.h> /* When the file size does not fit into the st_size field:
diff --git a/mingw-w64-headers/crt/sys/stat.h b/mingw-w64-headers/crt/sys/stat.h index a484f4f..80fa4b1 100644 --- a/mingw-w64-headers/crt/sys/stat.h +++ b/mingw-w64-headers/crt/sys/stat.h
@@ -71,55 +71,9 @@ _CRTIMP int __cdecl _fstat64(int _FileDes,struct _stat64 *_Stat); _CRTIMP int __cdecl _fstat32i64(int _FileDes,struct _stat32i64 *_Stat); int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat); -#ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _fstat64i32(int _FileDes,struct _stat64i32 *_Stat) - { - struct _stat64 st; - int __ret=_fstat64(_FileDes,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; - } -#endif /* __CRT__NO_INLINE */ _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat); _CRTIMP int __cdecl _stat32i64(const char *_Name,struct _stat32i64 *_Stat); int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat); -#ifndef __CRT__NO_INLINE - __CRT_INLINE int __cdecl _stat64i32(const char *_Name,struct _stat64i32 *_Stat) - { - struct _stat64 st; - int __ret=_stat64(_Name,&st); - if (__ret == -1) { - memset(_Stat,0,sizeof(struct _stat64i32)); - return -1; - } - _Stat->st_dev=st.st_dev; - _Stat->st_ino=st.st_ino; - _Stat->st_mode=st.st_mode; - _Stat->st_nlink=st.st_nlink; - _Stat->st_uid=st.st_uid; - _Stat->st_gid=st.st_gid; - _Stat->st_rdev=st.st_rdev; - _Stat->st_size=(_off_t) st.st_size; - _Stat->st_atime=st.st_atime; - _Stat->st_mtime=st.st_mtime; - _Stat->st_ctime=st.st_ctime; - return __ret; - } -#endif /* __CRT__NO_INLINE */ #ifndef _WSTAT_DEFINED #define _WSTAT_DEFINED