summaryrefslogtreecommitdiff
path: root/subversion/libsvn_fs_x/string_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/libsvn_fs_x/string_table.c')
-rw-r--r--subversion/libsvn_fs_x/string_table.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/subversion/libsvn_fs_x/string_table.c b/subversion/libsvn_fs_x/string_table.c
index 7b3b6450cb52d..e6a1cffdd2d94 100644
--- a/subversion/libsvn_fs_x/string_table.c
+++ b/subversion/libsvn_fs_x/string_table.c
@@ -376,7 +376,7 @@ svn_fs_x__string_table_builder_estimate_size(string_table_builder_t *builder)
static void
create_table(string_sub_table_t *target,
builder_table_t *source,
- apr_pool_t *pool,
+ apr_pool_t *result_pool,
apr_pool_t *scratch_pool)
{
int i = 0;
@@ -387,7 +387,8 @@ create_table(string_sub_table_t *target,
/* pack sub-strings */
target->short_string_count = (apr_size_t)source->short_strings->nelts;
- target->short_strings = apr_palloc(pool, sizeof(*target->short_strings) *
+ target->short_strings = apr_palloc(result_pool,
+ sizeof(*target->short_strings) *
target->short_string_count);
for (i = 0; i < source->short_strings->nelts; ++i)
{
@@ -433,13 +434,14 @@ create_table(string_sub_table_t *target,
/* pack long strings */
target->long_string_count = (apr_size_t)source->long_strings->nelts;
- target->long_strings = apr_palloc(pool, sizeof(*target->long_strings) *
+ target->long_strings = apr_palloc(result_pool,
+ sizeof(*target->long_strings) *
target->long_string_count);
for (i = 0; i < source->long_strings->nelts; ++i)
{
svn_string_t *string = &target->long_strings[i];
*string = APR_ARRAY_IDX(source->long_strings, i, svn_string_t);
- string->data = apr_pstrmemdup(pool, string->data, string->len);
+ string->data = apr_pstrmemdup(result_pool, string->data, string->len);
}
data->len += PADDING; /* add a few extra bytes at the end of the buffer
@@ -447,25 +449,25 @@ create_table(string_sub_table_t *target,
assert(data->len < data->blocksize);
memset(data->data + data->len - PADDING, 0, PADDING);
- target->data = apr_pmemdup(pool, data->data, data->len);
+ target->data = apr_pmemdup(result_pool, data->data, data->len);
target->data_size = data->len;
}
string_table_t *
svn_fs_x__string_table_create(const string_table_builder_t *builder,
- apr_pool_t *pool)
+ apr_pool_t *result_pool)
{
apr_size_t i;
- string_table_t *result = apr_pcalloc(pool, sizeof(*result));
+ string_table_t *result = apr_pcalloc(result_pool, sizeof(*result));
result->size = (apr_size_t)builder->tables->nelts;
result->sub_tables
- = apr_pcalloc(pool, result->size * sizeof(*result->sub_tables));
+ = apr_pcalloc(result_pool, result->size * sizeof(*result->sub_tables));
for (i = 0; i < result->size; ++i)
create_table(&result->sub_tables[i],
APR_ARRAY_IDX(builder->tables, i, builder_table_t*),
- pool,
+ result_pool,
builder->pool);
return result;
@@ -542,7 +544,7 @@ const char*
svn_fs_x__string_table_get(const string_table_t *table,
apr_size_t idx,
apr_size_t *length,
- apr_pool_t *pool)
+ apr_pool_t *result_pool)
{
apr_size_t table_number = idx >> TABLE_SHIFT;
apr_size_t sub_index = idx & STRING_INDEX_MASK;
@@ -557,7 +559,7 @@ svn_fs_x__string_table_get(const string_table_t *table,
if (length)
*length = sub_table->long_strings[sub_index].len;
- return apr_pstrmemdup(pool,
+ return apr_pstrmemdup(result_pool,
sub_table->long_strings[sub_index].data,
sub_table->long_strings[sub_index].len);
}
@@ -568,7 +570,7 @@ svn_fs_x__string_table_get(const string_table_t *table,
{
string_header_t *header = sub_table->short_strings + sub_index;
apr_size_t len = header->head_length + header->tail_length;
- char *result = apr_palloc(pool, len + PADDING);
+ char *result = apr_palloc(result_pool, len + PADDING);
if (length)
*length = len;
@@ -579,7 +581,7 @@ svn_fs_x__string_table_get(const string_table_t *table,
}
}
- return apr_pstrmemdup(pool, "", 0);
+ return apr_pstrmemdup(result_pool, "", 0);
}
svn_error_t *
@@ -830,7 +832,7 @@ const char*
svn_fs_x__string_table_get_func(const string_table_t *table,
apr_size_t idx,
apr_size_t *length,
- apr_pool_t *pool)
+ apr_pool_t *result_pool)
{
apr_size_t table_number = idx >> TABLE_SHIFT;
apr_size_t sub_index = idx & STRING_INDEX_MASK;
@@ -861,7 +863,7 @@ svn_fs_x__string_table_get_func(const string_table_t *table,
if (length)
*length = long_strings[sub_index].len;
- return apr_pstrmemdup(pool,
+ return apr_pstrmemdup(result_pool,
str_data,
long_strings[sub_index].len);
}
@@ -889,7 +891,7 @@ svn_fs_x__string_table_get_func(const string_table_t *table,
/* reconstruct the char data and return it */
header = table_copy.short_strings + sub_index;
len = header->head_length + header->tail_length;
- result = apr_palloc(pool, len + PADDING);
+ result = apr_palloc(result_pool, len + PADDING);
if (length)
*length = len;