D-Programming-Language/phobos — pull request #819 by jpf91 (2012-09-28 17:59:38+00:00)
Title: Get rid of transitional lfs API

Those kind of functions should be placed in druntime, but the *64 (transitional) functions as a public interface are actually deprecated and shouldn't be used anymore.

Druntime takes care that the normal stat, fopen,... calls support large files, if __USE_FILE_OFFSET64 is defined (which is what the new C API does as well)

Note: It's actually important to use the functions from core.sys.posix.stdio as the functions in core.stdc.stdio are not large file aware. This is probably a bug in druntime.

Note 2: I hope that the new stdio/File will work better if no lfs support is available. The current implementation probably won't even compile if off_t is 32bit.

BTW: Is there a place where I could write down some documentation on implementation details?
Large file support is a mess and it would probably be a good idea to document our implementation somewhere.