>+
>+  err2 = svn_error_purge_tracing(err);
>+  for (child = err2; child; child = child->child)
>+    if (svn_error__is_tracing_link(child))
>+      {
>+        return svn_error_create(SVN_ERR_TEST_FAILED, err,
>+                                "Tracing link found after purging the "
>+                                "following chain:");
>+      }
>+
>+  svn_error_clear(err);

The doc of svn_error_purge_tracing(err) says err should *not* be cleared.

<snip>
/**
 * Purge from @a err and its child chain any links associated with
 * error tracing placeholders, and return the new top-level error
 * chain item.  @a err should be considered unusable after passing
 * through this function, but should *not* be cleared (as the returned
 * error shares memory with @a err).  @a err can be #SVN_NO_ERROR.
 *
 * @since New in 1.7.
 */
svn_error_t *svn_error_purge_tracing(svn_error_t *err);
</snip>

Are you sure?

With regards
Kamesh Jayachandran


Reply via email to