Author: rhuijben
Date: Wed Dec 19 19:54:18 2012
New Revision: 1424059

URL: http://svn.apache.org/viewvc?rev=1424059&view=rev
Log:
Don't create a scratch pool for holding just a few pointers.

* subversion/include/private/svn_skel.h
  (svn_skel__unparse_iproplist): Add scratch_pool argument.

* subversion/libsvn_subr/skel.c
  (svn_skel__unparse_iproplist): Replace subpool with scratch pool.

* subversion/libsvn_subr/sqlite.c
  (svn_sqlite__bind_iprops): Update caller.

Modified:
    subversion/trunk/subversion/include/private/svn_skel.h
    subversion/trunk/subversion/libsvn_subr/skel.c
    subversion/trunk/subversion/libsvn_subr/sqlite.c

Modified: subversion/trunk/subversion/include/private/svn_skel.h
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/include/private/svn_skel.h?rev=1424059&r1=1424058&r2=1424059&view=diff
==============================================================================
--- subversion/trunk/subversion/include/private/svn_skel.h (original)
+++ subversion/trunk/subversion/include/private/svn_skel.h Wed Dec 19 19:54:18 
2012
@@ -226,7 +226,8 @@ svn_skel__unparse_proplist(svn_skel_t **
 svn_error_t *
 svn_skel__unparse_iproplist(svn_skel_t **skel_p,
                             const apr_array_header_t *inherited_props,
-                            apr_pool_t *result_pool);
+                            apr_pool_t *result_pool,
+                            apr_pool_t *scratch_pool);
 
 #ifdef __cplusplus
 }

Modified: subversion/trunk/subversion/libsvn_subr/skel.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/skel.c?rev=1424059&r1=1424058&r2=1424059&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/skel.c (original)
+++ subversion/trunk/subversion/libsvn_subr/skel.c Wed Dec 19 19:54:18 2012
@@ -824,7 +824,8 @@ svn_skel__unparse_proplist(svn_skel_t **
 svn_error_t *
 svn_skel__unparse_iproplist(svn_skel_t **skel_p,
                             const apr_array_header_t *inherited_props,
-                            apr_pool_t *result_pool)
+                            apr_pool_t *result_pool,
+                            apr_pool_t *scratch_pool)
 {
   svn_skel_t *skel = svn_skel__make_empty_list(result_pool);
 
@@ -833,7 +834,6 @@ svn_skel__unparse_iproplist(svn_skel_t *
     {
       int i;
       apr_hash_index_t *hi;
-      apr_pool_t *subpool = svn_pool_create(result_pool);
 
       for (i = 0; i < inherited_props->nelts; i++)
         {
@@ -843,10 +843,8 @@ svn_skel__unparse_iproplist(svn_skel_t *
           svn_skel_t *skel_list = svn_skel__make_empty_list(result_pool);
           svn_skel_t *skel_atom;
 
-          svn_pool_clear(subpool);
-
           /* Loop over hash entries */
-          for (hi = apr_hash_first(subpool, iprop->prop_hash);
+          for (hi = apr_hash_first(scratch_pool, iprop->prop_hash);
                hi;
                hi = apr_hash_next(hi))
             {
@@ -872,7 +870,6 @@ svn_skel__unparse_iproplist(svn_skel_t *
           svn_skel__append(skel, skel_atom);
           svn_skel__append(skel, skel_list);
         }
-      svn_pool_destroy(subpool);
     }
 
   /* Validate and return the skel. */

Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1424059&r1=1424058&r2=1424059&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Wed Dec 19 19:54:18 2012
@@ -493,7 +493,7 @@ svn_sqlite__bind_iprops(svn_sqlite__stmt
     return svn_error_trace(svn_sqlite__bind_blob(stmt, slot, NULL, 0));
 
   SVN_ERR(svn_skel__unparse_iproplist(&skel, inherited_props,
-                                      scratch_pool));
+                                      scratch_pool, scratch_pool));
   properties = svn_skel__unparse(skel, scratch_pool);
   return svn_error_trace(svn_sqlite__bind_blob(stmt,
                                                slot,


Reply via email to