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

Re: svn commit: r1849080 - in /subversion/trunk/subversion: bindings/javahl/native/Path.cpp include/svn_dirent_uri.h libsvn_subr/dirent_uri.c svndumpfilter/svndumpfilter.c tests/libsvn_subr/dirent_uri-test.c

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Mon, 17 Dec 2018 12:28:05 +0000

Branko Čibej wrote on Mon, 17 Dec 2018 13:19 +0100:
> On 17.12.2018 13:11, Daniel Shahaf wrote:
> > brane_at_apache.org wrote on Mon, 17 Dec 2018 11:26 +0000:
> >> * subversion/include/svn_dirent_uri.h
> >> (svn_relpath__internal_style): Change prototype so that the function can
> >> return an error instead of aborting if anything goes wrong.
> > Shall we move the declaration to subversion/include/private/ while we're
> > at it? That will ensure that API consumers that called this function
> > --- yes, they shouldn't have, but they may have anyway --- don't
> > accidentally call the re-signatured function (after upgrading libsvn.so
> > without recompiling) and get hard-to-trace garbage.
>
>
> I've been meaning to raise the same question. The only non-library user
> is svndumpfilter, but we "cheat" in the command-line client, too.
>
> If no-one objects, I'll move this declaration to somewhere in
> subversion/include/private. I'm not sure where though, there's no really
> appropriate private header there (svn_subr_private.h and
> svn_string_private.h are the obvious candidates).

I'd say the obvious candidate is a new svn_dirent_uri_private.h.

But I thinko'd earlier. Moving the declaration won't affect the ABI
compatibility issue; for that we'd have to rename the function as well.

I think it's plausible that a third party library user may be calling this
function since it doesn't specifically have a doxygen note warning that
it's private --- notwithstanding it being named with double underscores.

Cheers,

Daniel
Received on 2018-12-17 13:28:22 CET

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