[Python-Dev] Re: [Python-checkins] CVS: python/dist/src/Objects fileobject.c,2.91,2.92

Trent Mick trentm@ActiveState.com
Mon, 13 Nov 2000 15:07:05 -0800

On Mon, Nov 13, 2000 at 05:36:06PM -0500, Guido van Rossum wrote:
> Sure, but the #ifdef isn't really about how well the kernel supports
> large files -- it is about what code you must use.  There's one set of
> places that uses off_t, and those are guided just fine by
> HAVE_LARGEFILE_SUPPORT -- whether or not you can actually have files
> larger than 2Gb!
> But there's a *different* set of test that must be used to determine
> what to do for the stdio calls.  Note that on all platforms so far
> where TELL64 was needed (5 in total: MS_WIN64, NetBSD, OpenBSD, BSDI,
> and Mac OSX), there were only compilation problems in fileobject.c,
> and they went away by defining TELL64 as lseek((fd),0,SEEK_CUR).
> What goes wrong if HAVE_LARGEFILE_SUPPORT is defined but the system
> doesn't actually support files larger than 2Gb?  I suppose you get
> some sort of I/O error when you try to write such files.  Since they
> can't be created, you can't run into trouble when trying to read
> them! :-)
> Or am I still missing something?

I don't *think* so. Though having HAVE_LARGEFILE_SUUPORT still be defined for
a platform where this is not true still nags.


Trent Mick