Author: stsp Date: Tue Apr 10 12:01:31 2012 New Revision: 1311689 URL: http://svn.apache.org/viewvc?rev=1311689&view=rev Log: * subversion/libsvn_client/diff.c (do_arbitrary_files_diff, arbitrary_diff_walker): Allow cancellation.
Modified: subversion/trunk/subversion/libsvn_client/diff.c Modified: subversion/trunk/subversion/libsvn_client/diff.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=1311689&r1=1311688&r2=1311689&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_client/diff.c (original) +++ subversion/trunk/subversion/libsvn_client/diff.c Tue Apr 10 12:01:31 2012 @@ -1796,6 +1796,9 @@ do_arbitrary_files_diff(const char *loca svn_string_t *modified_mime_type = NULL; svn_error_t *err; + if (ctx->cancel_func) + SVN_ERR(ctx->cancel_func(ctx->cancel_baton)); + if (diff_cmd_baton->ignore_prop_diff) { original_props = apr_hash_make(scratch_pool); @@ -1989,6 +1992,9 @@ arbitrary_diff_walker(void *baton, const int i; apr_pool_t *iterpool; + if (b->ctx->cancel_func) + SVN_ERR(b->ctx->cancel_func(b->ctx->cancel_baton)); + if (finfo->filetype != APR_DIR) return SVN_NO_ERROR; @@ -2048,6 +2054,9 @@ arbitrary_diff_walker(void *baton, const svn_pool_clear(iterpool); + if (b->ctx->cancel_func) + SVN_ERR(b->ctx->cancel_func(b->ctx->cancel_baton)); + dirent1 = apr_hash_get(dirents1, name, APR_HASH_KEY_STRING); if (!dirent1) {