Large files should now work on BSDI

Russ Allbery rra at stanford.edu
Sun Jul 30 04:27:57 UTC 2000


Unless I missed something, large files should now work properly on BSDI in
both the BETA and CURRENT trees.  The problem was that fseeko and ftello
weren't provided by the OS, but fsetpos and fgetpos returned something
compatible with off_t.  I've included fseeko and ftello replacements from
David Luyer written in terms of fsetpos and fgetpos (thanks, David!) and
wrote an autoconf check to see if we can use that method.

All of INN (CURRENT) now uses fseeko and ftello, never fseek or ftell.
This should be preserved.  Those functions will be provided if missing, in
terms of fsetpos and fgetpos if that buys us anything, otherwise as
wrappers around fseek and ftell (which won't work for large files).

In the CURRENT tree, I also cleaned up a bunch of stuff in clibrary.h and
got rid of a few more of the things in the LEGACY section of that file,
and I've committed a new QIO implementation that's internally cleaner and
that uses off_t and size_t for storage where appropriate.  (And that has a
test suite.)

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the inn-workers mailing list