Diff options
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Grow the diff's file list with ALLOC_GROW
Diffstat (limited to 'source/ui-diff.c')
-rw-r--r--source/ui-diff.c18
1 file changed, 7 insertions, 11 deletions
diff --git a/source/ui-diff.c b/source/ui-diff.c
index 58df894..33a715d 100644
--- a/source/ui-diff.c
+++ b/source/ui-diff.c
@@ -319,17 +319,13 @@ static void print_truncated(const char *path)
static struct fileinfo *reserve_item(void)
{
- files++;
- if (files >= slots) {
- if (slots == 0)
- slots = 4;
- else
- slots = slots * 2;
- items = xrealloc(items, slots * sizeof(struct fileinfo));
- }
- memset(&items[files - 1], 0, sizeof(items[files - 1]));
- strbuf_init(&items[files - 1].body, 0);
- return &items[files - 1];
+ struct fileinfo *item;
+
+ ALLOC_GROW(items, files + 1, slots);
+ item = &items[files++];
+ memset(item, 0, sizeof(*item));
+ strbuf_init(&item->body, 0);
+ return item;
}
/*