2014-02-28 4:45 GMT+08:00 Dmitry S. Dolzhenko <[email protected]>:
> Signed-off-by: Dmitry S. Dolzhenko <[email protected]>
> ---
> attr.c | 7 +------
> builtin/pack-objects.c | 7 +------
> bundle.c | 6 +-----
> cache-tree.c | 6 +-----
> commit.c | 8 ++------
> diff.c | 12 ++----------
> diffcore-rename.c | 12 ++----------
> dir.c | 5 +----
> patch-ids.c | 5 +----
> read-cache.c | 9 ++-------
> reflog-walk.c | 13 +++----------
> replace_object.c | 8 ++------
> 12 files changed, 19 insertions(+), 79 deletions(-)
>
I find another two files can be fixed this way.
- builtin/mktree.c
- sha1_file.c
I find it by searching the key word "alloc_nr" throughout the source code.
May be there are other places of this kind of code and you can find it
by other ways.
> diff --git a/attr.c b/attr.c
> index 8d13d70..734222d 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;
> }
>
> diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
> index 541667f..92cbce8 100644
> --- a/builtin/pack-objects.c
> +++ b/builtin/pack-objects.c
> @@ -1156,12 +1156,7 @@ 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,
> diff --git a/bundle.c b/bundle.c
> index e99065c..1388a3e 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++;
> diff --git a/cache-tree.c b/cache-tree.c
> index 0bbec43..30149d1 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);
> diff --git a/commit.c b/commit.c
> index 6bf4fe0..e004314 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,
> diff --git a/diff.c b/diff.c
> index 8e4a6a9..f5f0fd1 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;
> }
>
> diff --git a/diffcore-rename.c b/diffcore-rename.c
> index 6c7a72f..f54d5bf 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,
> diff --git a/dir.c b/dir.c
> index b35b633..72f6e2a 100644
> --- a/dir.c
> +++ b/dir.c
> @@ -1329,13 +1329,10 @@ 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));
> - }
> match = *pathspec++;
> if (!match)
> break;
> + ALLOC_GROW(simplify, nr + 1, alloc);
> simplify[nr].path = match;
> simplify[nr].len = simple_length(match);
> }
> diff --git a/patch-ids.c b/patch-ids.c
> index bc8a28f..bf81b92 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));
> diff --git a/read-cache.c b/read-cache.c
> index 33dd676..e585541 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++;
> @@ -1466,8 +1462,7 @@ int read_index_from(struct index_state *istate, const
> char *path)
>
> istate->version = ntohl(hdr->hdr_version);
> istate->cache_nr = ntohl(hdr->hdr_entries);
> - istate->cache_alloc = alloc_nr(istate->cache_nr);
> - istate->cache = xcalloc(istate->cache_alloc, sizeof(*istate->cache));
> + ALLOC_GROW(istate->cache, istate->cache_nr, istate->cache_alloc);
> istate->initialized = 1;
>
> if (istate->version == 4)
> diff --git a/reflog-walk.c b/reflog-walk.c
> index b2fbdb2..879d2ed 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,8 @@ 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;
> diff --git a/replace_object.c b/replace_object.c
> index cdcaf8c..843deef 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,
> --
> 1.8.3.2
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Cheers,
He Sun
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html