Skip site navigation (1)Skip section navigation (2)
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>