"Daniel Shahaf" <d...@daniel.shahaf.name> writes:

> On Tuesday, November 29, 2011 4:08 PM, "Martin Buck" 
> <mb-tmp-fhoirefvba.ncnpur....@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?

-- 
Philip

Reply via email to