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)
{