Date: Wed, 01 Aug 2001 20:00:20 -0700 From: Kent Stewart <kstewart@urx.com> To: kc5vdj@yahoo.com Cc: Joseph Gleason <clash@tasam.com>, Alex Zepeda <jazepeda@pacbell.net>, hackers@FreeBSD.ORG Subject: Re: Finding filesizes in C++ for files greater than 4gb Message-ID: <3B68C244.20A4E2C9@urx.com> References: <00b201c11af3$4fef1c10$0a2d2d0a@battleship> <20010801184531.A7725@zippy.mybox.zip> <003c01c11afb$3cdc7980$0a2d2d0a@battleship> <3B68C175.E8E8D444@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Jim Bryant wrote: > > Joseph Gleason wrote: > > > > ----- Original Message ----- > > From: "Alex Zepeda" <jazepeda@pacbell.net> > > To: "Joseph Gleason" <clash@tasam.com>; <hackers@FreeBSD.ORG> > > Sent: Wednesday, August 01, 2001 21:45 > > Subject: Re: Finding filesizes in C++ for files greater than 4gb > > > > > On Wed, Aug 01, 2001 at 09:34:43PM -0400, Joseph Gleason wrote: > > > > > > > In FreeBSD, how can I determine the size of a file in C++ when the file > > is > > > > greater than 4gb? > > > > > > > > Currently, I use stat() and use st_size. That is limited to 4gb (32bit > > > > unsigned int) > > > > > > You're wrong. Read the man page. No soup for you! Next! > > > > > > - alex > > > > Alright, I made a mistake. But I did read the man page. Where does it say > > off_t is 64bits? > > > > My mistake was not digging through the include files enough to see what was > > going on. > > I think you got him on that, but [cut and paste of two consecutive lines from the manpage]... > > off_t st_size; /* file size, in bytes */ > int64_t st_blocks; /* blocks allocated for file */ > > If the manpage specifies int64_t for the blocks, even though off_t isn't specified in the manpage, what does it lead you to assume? > > Although 64-bit file sizes have been part of FreeBSD since 2.0-RELEASE back in 1994 [as I recall], maybe the manpages should reflect > this fact by means other than the deductive reasoning outlined above. Joseph has made a good point. Just so someone can see it. coral# grep BSD_OFF *.h ansi.h:#define _BSD_OFF_T_ __int64_t /* file offset */ coral# pwd /usr/include/machine Kent -- Kent Stewart Richland, WA mailto:kbstew99@hotmail.com http://kstewart.urx.com/kstewart/index.html FreeBSD News http://daily.daemonnews.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B68C244.20A4E2C9>