Am 14. November 2024 um 05:18 schrieb "Bruno Haible": > And with this additional patch, ftello() works on large files on mingw. > > > 2024-11-14 Bruno Haible <br...@clisp.org> > > ftello: Fix override on mingw. > Reported by Markus Mützel <markus.muet...@gmx.de> in > <https: lists.gnu.org="" archive="" html="" bug-gnulib="" 2024-11="" msg00108.html="">. > * lib/ftello.c: Test whether module 'largefile' is in use, not > whether it had to override 'off_t'. > > diff --git a/lib/ftello.c b/lib/ftello.c > index 88247bca8e..37fe93a34e 100644 > --- a/lib/ftello.c > +++ b/lib/ftello.c > @@ -34,7 +34,7 @@ ftello (FILE *fp) > # undef ftell > # define ftello ftell > #endif > -#if _GL_WINDOWS_64_BIT_OFF_T > +#if (defined _WIN32 && !defined __CYGWIN__) && _FILE_OFFSET_BITS == 64 > # undef ftello > # if HAVE__FTELLI64 /* msvc, mingw64 */ > # define ftello _ftelli64 >
Thank you very much for the patch series. With the same reasoning as for ftello.c, should this also be changed in fseeko.c? diff --git a/lib/fseeko.c b/lib/fseeko.c index 2c3b053a3b..9d003208ba 100644 --- a/lib/fseeko.c +++ b/lib/fseeko.c @@ -31,7 +31,10 @@ fseeko (FILE *fp, off_t offset, int whence) # undef fseek # define fseeko fseek #endif -#if _GL_WINDOWS_64_BIT_OFF_T +#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 fseeko # if HAVE__FSEEKI64 && HAVE_DECL__FSEEKI64 /* msvc, mingw since msvcrt8.0, mingw64 */ # define fseeko _fseeki64 </https:></markus.muet...@gmx.de></br...@clisp.org>