[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: apr_off_t is of an ambiguous size.

From: Ben Reser <ben_at_reser.org>
Date: 2004-01-12 23:01:02 CET

On Mon, Jan 12, 2004 at 01:45:06PM -0800, Greg Stein wrote:
> This is a good, general rule. A long while back, we came up with the idea
> to use svn_filesize_t because we wanted to ensure that SVN could hold
> large files, regardless of the underlying platform's capabilities. Of
> course, it will obviously fail if it tries, but the APIs are in place to
> be correct and "where it hits the road", we can compensate between SVN's
> large file size and the platform specifics.

Okay sounds like there's some consensus on the best way to fix this...
I wasn't aware of the svn_filesize_t discussion until ghudson pointed it
out to me.

> I'd go with apr_uint64_t rather than svn_filesize_t. This is a line number
> rather than an offset/size of a file. Yes, the two are proportional to
> some degree, but I'd agree with ghudson about the "mental judo" if we used
> svn_filesize_t for that param.

So apr_uint64_t for blame's line_no, svn_filesize_t for the uses of
svn_off_t in libsvn_diff, svn_filesize_t for the svn_io_file_seek with
appropriate bounds checking for making sure we don't pass a 64-bit
number to a 32-bit off_t.

I'll try to get a patch for this out in the next few days.

> I would seriously recommend dropping all svn_io_* functions from the Perl
> bindings. In general, Perl itself has its own APIs to do that stuff (and
> it does it in a Perl-standard fashion and is doc'd well and has precedent
> and ...). Note that we already ignore a bunch of svn_io_ functions (see
> core.i). I suspect there are a lot more svn_io_* functions that have been
> added recently which need to be ignored, too.
>
> Thus, I'd expect to see a patch which extends the list in core.i to
> include a lot more functions. There are probably a good number more of
> these across the subr functions.

Agreed, I didn't notice until last night that some of them were getting
wrapped. I just need to get around to removing them. I've made a note
of it on my mental todo list.

But my comments were about the C API. Not specifically the perl
wrapping.

-- 
Ben Reser <ben@reser.org>
http://ben.reser.org
"Conscience is the inner voice which warns us somebody may be looking."
- H.L. Mencken
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jan 12 23:02:42 2004

This is an archived mail posted to the Subversion Dev mailing list.