Philip Martin wrote on Wed, Jan 11, 2012 at 19:32:55 +0000:
> "Daniel Shahaf" <d.s_at_daniel.shahaf.name> writes:
> > On Tuesday, November 29, 2011 4:08 PM, "Martin Buck" <mb-tmp-fhoirefvba.ncnpur.bet_at_gromit.dyndns.org> wrote:
> >> On Tue, Nov 29, 2011 at 04:32:39PM +0200, Daniel Shahaf wrote:
> >> > Why isn't apr_off_t 64 bits?
> >> Sorry, I meant apr_size_t and that seems to correspond to C89's size_t and
> >> is not supposed to be used for file sizes. apr_off_t is 64 bits, of course.
> >> > > --- subversion-1.7.1/subversion/libsvn_fs_fs/fs_fs.c.orig 2011-10-19 19:28:55.000000000 +0200
> >> > > +++ subversion-1.7.1/subversion/libsvn_fs_fs/fs_fs.c 2011-11-25 16:53:56.000000000 +0100
> >> > > @@ -2575,7 +2575,7 @@
> >> > >
> >> > > svn_revnum_t base_revision;
> >> > > apr_off_t base_offset;
> >> > > - apr_size_t base_length;
> >> > > + svn_filesize_t base_length;
> >> >
> >> > I'd like both BASE_OFFSET and BASE_LENGTH to be 64 bit types. Would it
> >> > work to make them both svn_filesize_t?
> >> I guess it would work (on a 32 bit machine, svn_filesize_t and apr_off_t are
> >> both typedefed to "long long int" anyway), but I wanted to make the types
> >> the same as those of "offset" and "size" in
> >> libsvn_fs_fs/fs.h:representation_t where the values ultimately get assigned
> >> to.
> >> But since this is the first time I've looked at the Subversion sources, I
> >> can't really recommend anything (besides making sure that base_length is 64
> >> bits).
> > Okay. Since both svn_filesize_t and apr_off_t are signed 64bits it may
> > be just a bikeshed which type to use for which struct member. I'll
> > commit your patch and nominate it for backport to 1.7.3. While at it I'll
> > also scan the code for similar problems.
> Are you still planning to commit this? Should someone else do it?
Ouch, sorry. It's still on my todo list, but nowhere near the top;
"someone else" should feel than free to beat me to it.
Received on 2012-01-11 20:42:06 CET