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. [email protected]

