From 25e194070975d4410775e6db0165f4b3b9132bd3 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:49 +0400 Subject: [PATCH 01/14] builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- builtin/pack-objects.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 541667f102..b53bb5b25c 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1156,12 +1156,9 @@ static int check_pbase_path(unsigned hash) if (0 <= pos) return 1; pos = -pos - 1; - if (done_pbase_paths_alloc <= done_pbase_paths_num) { - done_pbase_paths_alloc = alloc_nr(done_pbase_paths_alloc); - done_pbase_paths = xrealloc(done_pbase_paths, - done_pbase_paths_alloc * - sizeof(unsigned)); - } + ALLOC_GROW(done_pbase_paths, + done_pbase_paths_num + 1, + done_pbase_paths_alloc); done_pbase_paths_num++; if (pos < done_pbase_paths_num) memmove(done_pbase_paths + pos + 1, From 5cbbe13a9f16e7ddebd186dbf1dddb16185b968f Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:50 +0400 Subject: [PATCH 02/14] bundle.c: use ALLOC_GROW() in add_to_ref_list() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- bundle.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/bundle.c b/bundle.c index e99065ce42..1388a3e6fd 100644 --- a/bundle.c +++ b/bundle.c @@ -14,11 +14,7 @@ static const char bundle_signature[] = "# v2 git bundle\n"; static void add_to_ref_list(const unsigned char *sha1, const char *name, struct ref_list *list) { - if (list->nr + 1 >= list->alloc) { - list->alloc = alloc_nr(list->nr + 1); - list->list = xrealloc(list->list, - list->alloc * sizeof(list->list[0])); - } + ALLOC_GROW(list->list, list->nr + 1, list->alloc); memcpy(list->list[list->nr].sha1, sha1, 20); list->list[list->nr].name = xstrdup(name); list->nr++; From bcc7a03285a2f0173a2d8afcc951c6dc0fc4eda8 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:51 +0400 Subject: [PATCH 03/14] cache-tree.c: use ALLOC_GROW() in find_subtree() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- cache-tree.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/cache-tree.c b/cache-tree.c index 0bbec43216..30149d1c42 100644 --- a/cache-tree.c +++ b/cache-tree.c @@ -75,11 +75,7 @@ static struct cache_tree_sub *find_subtree(struct cache_tree *it, return NULL; pos = -pos-1; - if (it->subtree_alloc <= it->subtree_nr) { - it->subtree_alloc = alloc_nr(it->subtree_alloc); - it->down = xrealloc(it->down, it->subtree_alloc * - sizeof(*it->down)); - } + ALLOC_GROW(it->down, it->subtree_nr + 1, it->subtree_alloc); it->subtree_nr++; down = xmalloc(sizeof(*down) + pathlen + 1); From d6e82b575a7dc16be03f67fc3c4b648bc18df09f Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:52 +0400 Subject: [PATCH 04/14] commit.c: use ALLOC_GROW() in register_commit_graft() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- commit.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/commit.c b/commit.c index 6bf4fe00d4..e0043144b1 100644 --- a/commit.c +++ b/commit.c @@ -147,12 +147,8 @@ int register_commit_graft(struct commit_graft *graft, int ignore_dups) return 1; } pos = -pos - 1; - if (commit_graft_alloc <= ++commit_graft_nr) { - commit_graft_alloc = alloc_nr(commit_graft_alloc); - commit_graft = xrealloc(commit_graft, - sizeof(*commit_graft) * - commit_graft_alloc); - } + ALLOC_GROW(commit_graft, commit_graft_nr + 1, commit_graft_alloc); + commit_graft_nr++; if (pos < commit_graft_nr) memmove(commit_graft + pos + 1, commit_graft + pos, From 4c960a432cac32a76764c5970e323c294153cec7 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:53 +0400 Subject: [PATCH 05/14] diff.c: use ALLOC_GROW() Use ALLOC_GROW() instead of open-coding it in diffstat_add() and diff_q(). Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- diff.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/diff.c b/diff.c index 8e4a6a9105..f5f0fd1e7f 100644 --- a/diff.c +++ b/diff.c @@ -1361,11 +1361,7 @@ static struct diffstat_file *diffstat_add(struct diffstat_t *diffstat, { struct diffstat_file *x; x = xcalloc(sizeof (*x), 1); - if (diffstat->nr == diffstat->alloc) { - diffstat->alloc = alloc_nr(diffstat->alloc); - diffstat->files = xrealloc(diffstat->files, - diffstat->alloc * sizeof(x)); - } + ALLOC_GROW(diffstat->files, diffstat->nr + 1, diffstat->alloc); diffstat->files[diffstat->nr++] = x; if (name_b) { x->from_name = xstrdup(name_a); @@ -3965,11 +3961,7 @@ struct diff_queue_struct diff_queued_diff; void diff_q(struct diff_queue_struct *queue, struct diff_filepair *dp) { - if (queue->alloc <= queue->nr) { - queue->alloc = alloc_nr(queue->alloc); - queue->queue = xrealloc(queue->queue, - sizeof(dp) * queue->alloc); - } + ALLOC_GROW(queue->queue, queue->nr + 1, queue->alloc); queue->queue[queue->nr++] = dp; } From 337ce247e35b88e8413ab80b43d9ce47729c8136 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:54 +0400 Subject: [PATCH 06/14] diffcore-rename.c: use ALLOC_GROW() Use ALLOC_GROW() instead of open-coding it in locate_rename_dst() and register_rename_src(). Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- diffcore-rename.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/diffcore-rename.c b/diffcore-rename.c index 6c7a72fbe7..f54d5bf479 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -38,11 +38,7 @@ static struct diff_rename_dst *locate_rename_dst(struct diff_filespec *two, if (!insert_ok) return NULL; /* insert to make it at "first" */ - if (rename_dst_alloc <= rename_dst_nr) { - rename_dst_alloc = alloc_nr(rename_dst_alloc); - rename_dst = xrealloc(rename_dst, - rename_dst_alloc * sizeof(*rename_dst)); - } + ALLOC_GROW(rename_dst, rename_dst_nr + 1, rename_dst_alloc); rename_dst_nr++; if (first < rename_dst_nr) memmove(rename_dst + first + 1, rename_dst + first, @@ -82,11 +78,7 @@ static struct diff_rename_src *register_rename_src(struct diff_filepair *p) } /* insert to make it at "first" */ - if (rename_src_alloc <= rename_src_nr) { - rename_src_alloc = alloc_nr(rename_src_alloc); - rename_src = xrealloc(rename_src, - rename_src_alloc * sizeof(*rename_src)); - } + ALLOC_GROW(rename_src, rename_src_nr + 1, rename_src_alloc); rename_src_nr++; if (first < rename_src_nr) memmove(rename_src + first + 1, rename_src + first, From 104fb26a1e4570d56c7c0a514397ed18e9610b3d Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:55 +0400 Subject: [PATCH 07/14] patch-ids.c: use ALLOC_GROW() in add_commit() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- patch-ids.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/patch-ids.c b/patch-ids.c index bc8a28fdd7..bf81b92361 100644 --- a/patch-ids.c +++ b/patch-ids.c @@ -83,10 +83,7 @@ static struct patch_id *add_commit(struct commit *commit, ent = &bucket->bucket[bucket->nr++]; hashcpy(ent->patch_id, sha1); - if (ids->alloc <= ids->nr) { - ids->alloc = alloc_nr(ids->nr); - ids->table = xrealloc(ids->table, sizeof(ent) * ids->alloc); - } + ALLOC_GROW(ids->table, ids->nr + 1, ids->alloc); if (pos < ids->nr) memmove(ids->table + pos + 1, ids->table + pos, sizeof(ent) * (ids->nr - pos)); From 72004b4310ecc41c87b4bd6357642c6c5cfe9077 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:56 +0400 Subject: [PATCH 08/14] replace_object.c: use ALLOC_GROW() in register_replace_object() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- replace_object.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/replace_object.c b/replace_object.c index cdcaf8cbe2..843deef599 100644 --- a/replace_object.c +++ b/replace_object.c @@ -36,12 +36,8 @@ static int register_replace_object(struct replace_object *replace, return 1; } pos = -pos - 1; - if (replace_object_alloc <= ++replace_object_nr) { - replace_object_alloc = alloc_nr(replace_object_alloc); - replace_object = xrealloc(replace_object, - sizeof(*replace_object) * - replace_object_alloc); - } + ALLOC_GROW(replace_object, replace_object_nr + 1, replace_object_alloc); + replace_object_nr++; if (pos < replace_object_nr) memmove(replace_object + pos + 1, replace_object + pos, From 6647cc2626b34493e937db13e6590ee8aad0c109 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:57 +0400 Subject: [PATCH 09/14] reflog-walk.c: use ALLOC_GROW() Use ALLOC_GROW() instead of open-coding it in add_commit_info() and read_one_reflog(). Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- reflog-walk.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/reflog-walk.c b/reflog-walk.c index b2fbdb2392..2899729a8c 100644 --- a/reflog-walk.c +++ b/reflog-walk.c @@ -26,11 +26,7 @@ static int read_one_reflog(unsigned char *osha1, unsigned char *nsha1, struct complete_reflogs *array = cb_data; struct reflog_info *item; - if (array->nr >= array->alloc) { - array->alloc = alloc_nr(array->nr + 1); - array->items = xrealloc(array->items, array->alloc * - sizeof(struct reflog_info)); - } + ALLOC_GROW(array->items, array->nr + 1, array->alloc); item = array->items + array->nr; memcpy(item->osha1, osha1, 20); memcpy(item->nsha1, nsha1, 20); @@ -114,11 +110,7 @@ static void add_commit_info(struct commit *commit, void *util, struct commit_info_lifo *lifo) { struct commit_info *info; - if (lifo->nr >= lifo->alloc) { - lifo->alloc = alloc_nr(lifo->nr + 1); - lifo->items = xrealloc(lifo->items, - lifo->alloc * sizeof(struct commit_info)); - } + ALLOC_GROW(lifo->items, lifo->nr + 1, lifo->alloc); info = lifo->items + lifo->nr; info->commit = commit; info->util = util; From 9af49f822bc1e4f00b356e052f666ae7714a0399 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:58 +0400 Subject: [PATCH 10/14] dir.c: use ALLOC_GROW() in create_simplify() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- dir.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/dir.c b/dir.c index b35b6330f8..f6c647006b 100644 --- a/dir.c +++ b/dir.c @@ -1329,10 +1329,7 @@ static struct path_simplify *create_simplify(const char **pathspec) for (nr = 0 ; ; nr++) { const char *match; - if (nr >= alloc) { - alloc = alloc_nr(alloc); - simplify = xrealloc(simplify, alloc * sizeof(*simplify)); - } + ALLOC_GROW(simplify, nr + 1, alloc); match = *pathspec++; if (!match) break; From 3a7fa03db97eddec274af2ef22d96fc6f486f7c0 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:31:59 +0400 Subject: [PATCH 11/14] attr.c: use ALLOC_GROW() in handle_attr_line() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- attr.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/attr.c b/attr.c index 8d13d70e80..734222dc45 100644 --- a/attr.c +++ b/attr.c @@ -338,12 +338,7 @@ static void handle_attr_line(struct attr_stack *res, a = parse_attr_line(line, src, lineno, macro_ok); if (!a) return; - if (res->alloc <= res->num_matches) { - res->alloc = alloc_nr(res->num_matches); - res->attrs = xrealloc(res->attrs, - sizeof(struct match_attr *) * - res->alloc); - } + ALLOC_GROW(res->attrs, res->num_matches + 1, res->alloc); res->attrs[res->num_matches++] = a; } From 66d9f38bc72b4415046704697f3d3898afbce73a Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:32:00 +0400 Subject: [PATCH 12/14] builtin/mktree.c: use ALLOC_GROW() in append_to_tree() Helped-by: He Sun Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- builtin/mktree.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/builtin/mktree.c b/builtin/mktree.c index f92ba404ab..a964d6be52 100644 --- a/builtin/mktree.c +++ b/builtin/mktree.c @@ -23,10 +23,7 @@ static void append_to_tree(unsigned mode, unsigned char *sha1, char *path) if (strchr(path, '/')) die("path %s contains slash", path); - if (alloc <= used) { - alloc = alloc_nr(used); - entries = xrealloc(entries, sizeof(*entries) * alloc); - } + ALLOC_GROW(entries, used + 1, alloc); ent = entries[used++] = xmalloc(sizeof(**entries) + len + 1); ent->mode = mode; ent->len = len; From 999f566013cf4102c07b0cdbffba419eadc7b368 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:32:01 +0400 Subject: [PATCH 13/14] read-cache.c: use ALLOC_GROW() in add_index_entry() Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- read-cache.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/read-cache.c b/read-cache.c index 33dd676ccb..40dbec92ac 100644 --- a/read-cache.c +++ b/read-cache.c @@ -993,11 +993,7 @@ int add_index_entry(struct index_state *istate, struct cache_entry *ce, int opti } /* Make sure the array is big enough .. */ - if (istate->cache_nr == istate->cache_alloc) { - istate->cache_alloc = alloc_nr(istate->cache_alloc); - istate->cache = xrealloc(istate->cache, - istate->cache_alloc * sizeof(*istate->cache)); - } + ALLOC_GROW(istate->cache, istate->cache_nr + 1, istate->cache_alloc); /* Add it in.. */ istate->cache_nr++; From c7353967ca8ede681e9f8fbac98a650450631990 Mon Sep 17 00:00:00 2001 From: "Dmitry S. Dolzhenko" Date: Tue, 4 Mar 2014 02:32:02 +0400 Subject: [PATCH 14/14] sha1_file.c: use ALLOC_GROW() in pretend_sha1_file() Helped-by: He Sun Signed-off-by: Dmitry S. Dolzhenko Signed-off-by: Junio C Hamano --- sha1_file.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index 6e8c05d108..2af06f8423 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -2626,12 +2626,7 @@ int pretend_sha1_file(void *buf, unsigned long len, enum object_type type, hash_sha1_file(buf, len, typename(type), sha1); if (has_sha1_file(sha1) || find_cached_object(sha1)) return 0; - if (cached_object_alloc <= cached_object_nr) { - cached_object_alloc = alloc_nr(cached_object_alloc); - cached_objects = xrealloc(cached_objects, - sizeof(*cached_objects) * - cached_object_alloc); - } + ALLOC_GROW(cached_objects, cached_object_nr + 1, cached_object_alloc); co = &cached_objects[cached_object_nr++]; co->size = len; co->type = type;