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.
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
Received on 2013-11-25 15:22:55 CET