heinbali01 wrote on Tuesday, June 06, 2017:
Vladimir, this is indeed something to be finished: files longer than 2 GB.
Throughout the library, signed 32-bit values are used to indicate the length, and negative values are interpreted as an error.
lseek also has an intrinsic problem:
long lseek(int fd, long offset, int whence);
FreeRTOS+TCP is using the same syntax for
The Posix varian is ok, if
off_t is a 64-bit signed integer:
off_t lseek(int fd, off_t offset, int whence);
The +FAT library will not force people to include 64-bit arithmetic.
Right now I have a 2 GB file ( -2,147,483,648 bytes ) on an SD-card and I will test it. To be continued.