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

Reply via email to