Re: [vox-tech] Re: [vox] Large File Support
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] Re: [vox] Large File Support
On Tue 27 Mar 01, 12:25 PM, Micah Cowan said:
> On Tue, Mar 27, 2001 at 11:56:26AM -0800, Peter Jay Salzman wrote:
> > eric, first, let me tell you the reason for the limit in the first place.
> >
> > the 2GB limit isn't linux's fault. it's the fault of the ISO/ANSI C team.
> > many operating systems use the (what i call) "strange" data types like
> > fpos_t and off_t. these functions *can* break when you deal with files
> > larger than 2GB. the answer is to retypedef the wierd data types. to wit:
> >
> > ssize_t write(int fd, const void *buf, size_t count);
> > ^ ^
> > | |
> > wierd wierd
> >
> > i think you can get the definitions for these wierd types in types.h.
> >
> > however, there are functions like fseek() and ftell() which use a good old
> > fasioned "long int" for the offset, and you can't play around with that.
> >
> >
> > AFAIK, 2.2.18 does not support files larger than 2GB without a kernel patch.
> > i do believe, though, that the patch made it into the 2.3 kernel.
>
> write() isn't ISO/ANSI C. It's POSIX.
>
> And actually, fpos_t is the /solution/ to the problem, not the cause
> of it
oh my god. micah, please re-read my post.
i said it was the "long int" that causes the problem you can't get around.
i never said fpos_t was the problem. where did you get that from?
and there is no "solution" to the problem because ISO/ANSI specifies that
fseek takes a long int argument. you can't get around that.
hence, no easy "solution".
your reading comprehension has gone way down today!
> (off_t isn't ISO/ANSI C either). The fact that fseek() and
i didn't say that. the prototypes are determined by ISO/ANSI C.
do you want me to give you a reference?
> This is a good thing, not a bad thing.
unless you want files bigger than 2 GB.
micah, please spend a bit more time reading my posts. it's causing a lot of
useless traffic.
peter
|