> the mingw64 headers provide a partial "Large File Support".
> Namely, for
>   off_t
>   <unistd.h> (lseek, ftruncate)
>   <stdio.h> (fseeko, ftello)

And even this partial support is only partially working.

They define a function ftruncate64, and "#define ftruncate ftruncate64".
This function
  1) violates POSIX:
       test-ftruncate.c:38: assertion failed
       FAIL: test-ftruncate.sh
  2) is written in a way that may erase the file that is to be extended.
     See
       
http://mingw-w64.sourcearchive.com/documentation/2.0-1/ftruncate64_8c_source.html
     the comment "truncating more than the allowed space results
     in file getting mysteriously deleted".

Bruno


Reply via email to