As discussed in this thread:
http://marc.theaimsgroup.com/?l=subversion-dev&m=107390224021280&w=2
The attached patch mostly removes the apr_off_t type from our code.
The exceptions are that it does not remove it in the cases where
apr_file_seek is being used directly. All of these cases are using
it essentially as a constant. So it's an implementation detail that
can wait until dionosis gets around to dealing with apr_file_seek
as he said on IRC yesterday he would be doing post 1.0.
We originally discussed using svn_filesize_t but we can't use it.
It is an unsigned type. We depend upon this type being signed,
particularly in the diff code. So it adds a svn_offset_t type.
The bounds checking code is as complex as it is to avoid endianess
issues. I could calculate the range, but doing so would either require
the pow function or dependend upon endian specific implementations.
So the way I did it seemed best. I was probably being overly
paranoid in implementing the 2 and 1 byte size variants but
I think it doesn't hurt anything to have. (Thus my joke on IRC
about supporting 8 and 16-bit archs).
Other than the bounds checking in svn_io_file_seek, it's only a
change of the type.
Patch has been make check'ed on 32-bit and 64-bit archs.