Diff options
Diffstat (limited to 'source/ui-diff.c')
| -rw-r--r-- | source/ui-diff.c | 18 |
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; } /* |
