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,