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


Reply via email to