>+ >+ 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