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

Re: Questions about svn_error_clear().

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2004-12-16 16:25:22 CET

Steven Kirk wrote:
>
>>> Another option
>>>
>>> #define svn_error_clear(err) svn_error_clear2(&(err))
>>>
>>> And at the end of svn_error_clear_internal:
>>>
>>> *err = NULL;
>>>
>>> svn_error_clear() would remain in the svn libs as to not break binary
>>> compatibility.
>>
>>
>> Can't do that because it changes the signature of the function
>> consumers of the API get when they write svn_error_clear, suddenly all
>> their code breaks because they're not passing a pointer to a pointer
>> to an error object. It would preserve binary compatability, but not
>> source compatability, we need both.
>
>
> Sorry, I don't understand... Binaries would remain linked to
> svn_error_clear, whilst the svn_error_clear() macro would automatically
> redirect newly compiled code to the new svn_error_clear2() function.
> AFAICS, you retain binary and source compatibility. But then I always
> have had trouble understanding compatability rules!

Actually, I think I was mistaken. I wasn't fully awake when reading
that email... It will work in the majority of cases, although I'm not
sure if it's valid to take the address of a temporary (i.e.
svn_error_clear(svn_function_that_returns_error()) might be problematic).

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Dec 16 16:27:14 2004

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