]> Savannah Git Hosting - gnulib.git/commitdiff
ftruncate, ftello: Make them work again for large files on MSVC.
authorBruno Haible <bruno@clisp.org>
Thu, 14 Nov 2024 06:43:00 +0000 (07:43 +0100)
committerBruno Haible <bruno@clisp.org>
Thu, 14 Nov 2024 06:43:00 +0000 (07:43 +0100)
* lib/ftruncate.c: Test _GL_WINDOWS_64_BIT_OFF_T again.
* lib/ftello.c: Likewise.

ChangeLog
lib/ftello.c
lib/ftruncate.c

index ae9f13aaaee45b21af8adb7a73a624f1e3e72d76..0dd535446d1e0650c1ae594ce539413a630a76a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2024-11-14  Bruno Haible  <bruno@clisp.org>
+
+       ftruncate, ftello: Make them work again for large files on MSVC.
+       * lib/ftruncate.c: Test _GL_WINDOWS_64_BIT_OFF_T again.
+       * lib/ftello.c: Likewise.
+
 2024-11-14  Bruno Haible  <bruno@clisp.org>
 
        pthread-rwlock tests: Fix compilation error on AIX with xlc.
index 37fe93a34e00826383aabd4cd60f7aabde142581..cfb46cfbba098aff8a63b1f0f5b4ff7a249b4537 100644 (file)
@@ -34,7 +34,10 @@ ftello (FILE *fp)
 # undef ftell
 # define ftello ftell
 #endif
-#if (defined _WIN32 && !defined __CYGWIN__) && _FILE_OFFSET_BITS == 64
+#if (defined _WIN32 && !defined __CYGWIN__) \
+    /* We need to test _FILE_OFFSET_BITS for mingw-w64 */   \
+    /* and _GL_WINDOWS_64_BIT_OFF_T for MSVC.  */           \
+    && (_FILE_OFFSET_BITS == 64 || _GL_WINDOWS_64_BIT_OFF_T)
 # undef ftello
 # if HAVE__FTELLI64 /* msvc, mingw64 */
 #  define ftello _ftelli64
index 0566c32d0ecc49ff11d2cd5dcd0192c93bd85bc8..29a5ae96c515746c3cbfab4cef9a0974f1bffe7b 100644 (file)
@@ -24,7 +24,9 @@
 
 # include <errno.h>
 
-# if _FILE_OFFSET_BITS == 64 /* set by module 'largefile' on all platforms */
+/* We need to test _FILE_OFFSET_BITS for mingw-w64
+   and _GL_WINDOWS_64_BIT_OFF_T for MSVC.  */
+# if (_FILE_OFFSET_BITS == 64 || _GL_WINDOWS_64_BIT_OFF_T)
 
 /* Large File Support: off_t is 64-bit, but _chsize() takes only a 32-bit
    argument.  Some newer versions of the Windows CRT have a _chsize_s function