You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by gs...@apache.org on 2010/04/28 05:39:24 UTC

svn commit: r938768 - /subversion/trunk/subversion/libsvn_wc/adm_crawler.c

Author: gstein
Date: Wed Apr 28 03:39:24 2010
New Revision: 938768

URL: http://svn.apache.org/viewvc?rev=938768&view=rev
Log:
Apply an iterpool.

* subversion/libsvn_wc/adm_crawler.c:
  (svn_wc__internal_transmit_prop_deltas): use an iterpool

Modified:
    subversion/trunk/subversion/libsvn_wc/adm_crawler.c

Modified: subversion/trunk/subversion/libsvn_wc/adm_crawler.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_crawler.c?rev=938768&r1=938767&r2=938768&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_crawler.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_crawler.c Wed Apr 28 03:39:24 2010
@@ -1317,28 +1317,33 @@ svn_wc__internal_transmit_prop_deltas(sv
                                      void *baton,
                                      apr_pool_t *scratch_pool)
 {
+  apr_pool_t *iterpool = svn_pool_create(scratch_pool);
   int i;
   apr_array_header_t *propmods;
   svn_wc__db_kind_t kind;
 
-  SVN_ERR(svn_wc__db_read_kind(&kind, db, local_abspath, FALSE, scratch_pool));
+  SVN_ERR(svn_wc__db_read_kind(&kind, db, local_abspath, FALSE, iterpool));
 
   /* Get an array of local changes by comparing the hashes. */
   SVN_ERR(svn_wc__internal_propdiff(&propmods, NULL, db, local_abspath,
-                                    scratch_pool, scratch_pool));
+                                    scratch_pool, iterpool));
 
   /* Apply each local change to the baton */
   for (i = 0; i < propmods->nelts; i++)
     {
       const svn_prop_t *p = &APR_ARRAY_IDX(propmods, i, svn_prop_t);
+
+      svn_pool_clear(iterpool);
+
       if (kind == svn_wc__db_kind_file)
         SVN_ERR(editor->change_file_prop(baton, p->name, p->value,
-                                         scratch_pool));
+                                         iterpool));
       else
         SVN_ERR(editor->change_dir_prop(baton, p->name, p->value,
-                                        scratch_pool));
+                                        iterpool));
     }
 
+  svn_pool_destroy(iterpool);
   return SVN_NO_ERROR;
 }