Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew DeVore <matvore@google.com>2019-06-28 01:54:13 +0300
committerJunio C Hamano <gitster@pobox.com>2019-06-28 18:41:53 +0300
commit5a133e8a7f7c28c57f7a0a85e57692b8b781d896 (patch)
tree4c044c67cdbaec4319a55cfcffc0db548e7c4cf7 /list-objects-filter-options.c
parent489fc9ee718b7c8594f17b55f090ac5292c655e1 (diff)
list-objects-filter-options: clean up use of ALLOC_GROW
Introduce a new macro ALLOC_GROW_BY which automatically zeros the added array elements and takes care of updating the nr value. Use the macro in code introduced earlier in this patchset. Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'list-objects-filter-options.c')
-rw-r--r--list-objects-filter-options.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/list-objects-filter-options.c b/list-objects-filter-options.c
index 2506dc8327..44bc1153d1 100644
--- a/list-objects-filter-options.c
+++ b/list-objects-filter-options.c
@@ -120,14 +120,12 @@ static int parse_combine_subfilter(
struct strbuf *subspec,
struct strbuf *errbuf)
{
- size_t new_index = filter_options->sub_nr++;
+ size_t new_index = filter_options->sub_nr;
char *decoded;
int result;
- ALLOC_GROW(filter_options->sub, filter_options->sub_nr,
- filter_options->sub_alloc);
- memset(&filter_options->sub[new_index], 0,
- sizeof(*filter_options->sub));
+ ALLOC_GROW_BY(filter_options->sub, filter_options->sub_nr, 1,
+ filter_options->sub_alloc);
decoded = url_percent_decode(subspec->buf);
@@ -255,13 +253,12 @@ int parse_list_objects_filter(
string_list_append(&filter_options->filter_spec, xstrdup("+"));
filter_spec_append_urlencode(filter_options, arg);
- ALLOC_GROW(filter_options->sub, filter_options->sub_nr + 1,
- filter_options->sub_alloc);
- filter_options = &filter_options->sub[filter_options->sub_nr++];
- memset(filter_options, 0, sizeof(*filter_options));
+ ALLOC_GROW_BY(filter_options->sub, filter_options->sub_nr, 1,
+ filter_options->sub_alloc);
parse_error = gently_parse_list_objects_filter(
- filter_options, arg, &errbuf);
+ &filter_options->sub[filter_options->sub_nr - 1], arg,
+ &errbuf);
}
if (parse_error)
die("%s", errbuf.buf);