Use __MINGW_ASM_CALL for function symbol redirect and use off_t type (instead of long) for offset parameter and return value. off_t type follows the _FILE_OFFSET_BITS setting. --- mingw-w64-headers/crt/io.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/mingw-w64-headers/crt/io.h b/mingw-w64-headers/crt/io.h index f396b6d2b374..25deee388fb5 100644 --- a/mingw-w64-headers/crt/io.h +++ b/mingw-w64-headers/crt/io.h @@ -351,7 +351,11 @@ _CRTIMP char* __cdecl _getcwd (char*, int); long __cdecl filelength(int _FileHandle) __MINGW_ATTRIB_DEPRECATED_MSVC2005; int __cdecl isatty(int _FileHandle) __MINGW_ATTRIB_DEPRECATED_MSVC2005; int __cdecl locking(int _FileHandle,int _LockMode,long _NumOfBytes) __MINGW_ATTRIB_DEPRECATED_MSVC2005; - long __cdecl lseek(int _FileHandle,long _Offset,int _Origin) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + off_t __cdecl lseek(int _FileHandle,off_t _Offset,int _Origin) +#if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) + __MINGW_ASM_CALL(lseek64) +#endif + __MINGW_ATTRIB_DEPRECATED_MSVC2005; char *__cdecl mktemp(char *_TemplateName) __MINGW_ATTRIB_DEPRECATED_MSVC2005; int __cdecl open(const char *_Filename,int _OpenFlag,...) __MINGW_ATTRIB_DEPRECATED_MSVC2005; int __cdecl open64(const char *_Filename,int _OpenFlag,...); @@ -363,13 +367,6 @@ _CRTIMP char* __cdecl _getcwd (char*, int); int __cdecl write(int _Filehandle,const void *_Buf,unsigned int _MaxCharCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; #endif -#ifndef _FILE_OFFSET_BITS_SET_LSEEK -#define _FILE_OFFSET_BITS_SET_LSEEK -#if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) -#define lseek lseek64 -#endif /* (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) */ -#endif /* _FILE_OFFSET_BITS_SET_LSEEK */ - #ifdef _POSIX /* Misc stuff */ -- 2.20.1 _______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
