You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by bl...@apache.org on 2010/12/22 00:54:27 UTC
svn commit: r1051702 - in /subversion/trunk/subversion: include/svn_error.h
include/svn_ra.h libsvn_ra/util.c libsvn_subr/error.c
tests/cmdline/atomic-ra-revprop-change.c
Author: blair
Date: Tue Dec 21 23:54:27 2010
New Revision: 1051702
URL: http://svn.apache.org/viewvc?rev=1051702&view=rev
Log:
Replace svn_error_has_cause() with svn_error_find_cause() that instead
of returning a Boolean, returns the actual matching cause. Users can
still use a Boolean context to determine if there was a match, so
there's no drawback to this change.
* subversion/include/svn_error.h,
* subversion/libsvn_subr/error.c
(svn_error_find_cause):
Renamed from svn_error_has_cause(). Change the return type from
svn_boolean_t to svn_error_t *.
* subversion/include/svn_ra.h
(svn_ra_change_rev_prop2):
Refer to the new function name.
* subversion/libsvn_ra/util.c
(is_atomicity_error):
Use the new function.
* subversion/tests/cmdline/atomic-ra-revprop-change.c
(change_rev_prop):
Use the new function.
Modified:
subversion/trunk/subversion/include/svn_error.h
subversion/trunk/subversion/include/svn_ra.h
subversion/trunk/subversion/libsvn_ra/util.c
subversion/trunk/subversion/libsvn_subr/error.c
subversion/trunk/subversion/tests/cmdline/atomic-ra-revprop-change.c
Modified: subversion/trunk/subversion/include/svn_error.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_error.h?rev=1051702&r1=1051701&r2=1051702&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_error.h (original)
+++ subversion/trunk/subversion/include/svn_error.h Tue Dec 21 23:54:27 2010
@@ -193,14 +193,15 @@ svn_error_compose(svn_error_t *chain,
svn_error_t *
svn_error_root_cause(svn_error_t *err);
-/** Return TRUE if @a err's chain contains the error code @a apr_err.
+/** Return the first error in @a err's chain that has an error code @a
+ * apr_err or #SVN_NO_ERROR if there is no error with that code.
*
- * If @a err is #SVN_NO_ERROR, return FALSE.
+ * If @a err is #SVN_NO_ERROR, return #SVN_NO_ERROR.
*
* @since New in 1.7.
*/
-svn_boolean_t
-svn_error_has_cause(svn_error_t *err, apr_status_t apr_err);
+svn_error_t *
+svn_error_find_cause(svn_error_t *err, apr_status_t apr_err);
/** Create a new error that is a deep copy of @a err and return it.
*
Modified: subversion/trunk/subversion/include/svn_ra.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_ra.h?rev=1051702&r1=1051701&r2=1051702&view=diff
==============================================================================
--- subversion/trunk/subversion/include/svn_ra.h (original)
+++ subversion/trunk/subversion/include/svn_ra.h Tue Dec 21 23:54:27 2010
@@ -762,7 +762,7 @@ svn_ra_get_dated_revision(svn_ra_session
*
* Use @a pool for memory allocation.
*
- * @see svn_fs_change_rev_prop2(), svn_error_has_cause().
+ * @see svn_fs_change_rev_prop2(), svn_error_find_cause().
*
* @since New in 1.7.
*/
Modified: subversion/trunk/subversion/libsvn_ra/util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra/util.c?rev=1051702&r1=1051701&r2=1051702&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra/util.c Tue Dec 21 23:54:27 2010
@@ -78,7 +78,7 @@ svn_ra__assert_mergeinfo_capable_server(
*/
static svn_boolean_t is_atomicity_error(svn_error_t *err)
{
- return svn_error_has_cause(err, SVN_ERR_FS_PROP_BASEVALUE_MISMATCH);
+ return svn_error_find_cause(err, SVN_ERR_FS_PROP_BASEVALUE_MISMATCH);
}
svn_error_t *
Modified: subversion/trunk/subversion/libsvn_subr/error.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/error.c?rev=1051702&r1=1051701&r2=1051702&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/error.c (original)
+++ subversion/trunk/subversion/libsvn_subr/error.c Tue Dec 21 23:54:27 2010
@@ -269,16 +269,16 @@ svn_error_root_cause(svn_error_t *err)
return err;
}
-svn_boolean_t
-svn_error_has_cause(svn_error_t *err, apr_status_t apr_err)
+svn_error_t *
+svn_error_find_cause(svn_error_t *err, apr_status_t apr_err)
{
svn_error_t *child;
for (child = err; child; child = child->child)
if (child->apr_err == apr_err)
- return TRUE;
+ return child;
- return FALSE;
+ return SVN_NO_ERROR;
}
svn_error_t *
Modified: subversion/trunk/subversion/tests/cmdline/atomic-ra-revprop-change.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/atomic-ra-revprop-change.c?rev=1051702&r1=1051701&r2=1051702&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/atomic-ra-revprop-change.c (original)
+++ subversion/trunk/subversion/tests/cmdline/atomic-ra-revprop-change.c Tue Dec 21 23:54:27 2010
@@ -164,7 +164,7 @@ change_rev_prop(const char *url,
&old_value, propval, pool);
if (want_error && err
- && svn_error_has_cause(err, SVN_ERR_FS_PROP_BASEVALUE_MISMATCH))
+ && svn_error_find_cause(err, SVN_ERR_FS_PROP_BASEVALUE_MISMATCH))
{
/* Expectation was matched. Get out. */
svn_error_clear(err);