summaryrefslogtreecommitdiff
path: root/reftable/basics.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-02-12 13:16:10 -0800
committerJunio C Hamano <gitster@pobox.com>2024-02-12 13:16:10 -0800
commitf424d7c33df373fb8eb4c9dc63ab6dc24de24aa5 (patch)
tree0a4a0ce4fd72be818d68f736c9eb98a42edbe123 /reftable/basics.c
parentcf4a3bd8f1dc85b20766efe1381511fb4cb15a4f (diff)
parent3ddef475d008b8a705a53e6bb1405bb773ffdc50 (diff)
Merge branch 'ps/reftable-styles'
Code clean-up in various reftable code paths. * ps/reftable-styles: reftable/record: improve semantics when initializing records reftable/merged: refactor initialization of iterators reftable/merged: refactor seeking of records reftable/stack: use `size_t` to track stack length reftable/stack: use `size_t` to track stack slices during compaction reftable/stack: index segments with `size_t` reftable/stack: fix parameter validation when compacting range reftable: introduce macros to allocate arrays reftable: introduce macros to grow arrays
Diffstat (limited to 'reftable/basics.c')
-rw-r--r--reftable/basics.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/reftable/basics.c b/reftable/basics.c
index f761e48028..0785aff941 100644
--- a/reftable/basics.c
+++ b/reftable/basics.c
@@ -64,12 +64,11 @@ void free_names(char **a)
reftable_free(a);
}
-int names_length(char **names)
+size_t names_length(char **names)
{
char **p = names;
- for (; *p; p++) {
- /* empty */
- }
+ while (*p)
+ p++;
return p - names;
}
@@ -89,17 +88,13 @@ void parse_names(char *buf, int size, char ***namesp)
next = end;
}
if (p < next) {
- if (names_len == names_cap) {
- names_cap = 2 * names_cap + 1;
- names = reftable_realloc(
- names, names_cap * sizeof(*names));
- }
+ REFTABLE_ALLOC_GROW(names, names_len + 1, names_cap);
names[names_len++] = xstrdup(p);
}
p = next + 1;
}
- names = reftable_realloc(names, (names_len + 1) * sizeof(*names));
+ REFTABLE_REALLOC_ARRAY(names, names_len + 1);
names[names_len] = NULL;
*namesp = names;
}