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

Re: svn commit: r1544736 - /subversion/trunk/subversion/libsvn_ra_svn/marshal.c

From: Branko Čibej <brane_at_wandisco.com>
Date: Mon, 25 Nov 2013 15:22:12 +0100

On 25.11.2013 13:05, Julian Foad wrote:
> Branko Čibej wrote:
>>> Author: stefan2
>>> URL: http://svn.apache.org/r1544736
>>> * subversion/libsvn_ra_svn/marshal.c
>>> (svn_ra_svn__handle_command): code cleanup. No functional change
>> Your change modifies the *terminate output parameter even if the
>> function fails. We have a long-standing policy against doing that.
>> You're taking too much for granted.
> We have a general policy, as I understand it, that if a function returns an error then we don't promise anything about what else it has done. On that basis, this change is fine. Is there some local policy overriding that general one in this case?

Hm .... I remember differently. Not touching output parameters in the
case of an error is a very nice property to have in an API (it makes
debugging just that little bit easier, for example). But now I can't
find an explicit statement to this effect in HACKING. On the other hand,
we don't document that values of output parameters are indeterminate
unless the function succeeds.

Oh well. I knew senility would kick in at some point, I just didn't
expect it so soon.

-- Brane

Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. brane_at_wandisco.com
Received on 2013-11-25 15:22:55 CET

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