diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-09-11 10:33:36 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-09-11 10:33:36 -0700 |
commit | 1ebe6a825a1ff12e12905e28265aa30e269700d6 (patch) | |
tree | 0ad33ffa41525b67198a5d756a8e5beedee2ea73 /bisect.c | |
parent | f28763d7561f66c0c6ff9b5d48146a0f923781d3 (diff) | |
parent | 2e3dfb216991974b60fdb1933eb3331e03383e61 (diff) | |
download | git-1ebe6a825a1ff12e12905e28265aa30e269700d6.tar.gz |
Merge branch 'jk/name-decoration-alloc'
The API to allocate the structure to keep track of commit
decoration was cumbersome to use, inviting lazy code to
overallocate memory.
* jk/name-decoration-alloc:
log-tree: use FLEX_ARRAY in name_decoration
log-tree: make name_decoration hash static
log-tree: make add_name_decoration a public function
Diffstat (limited to 'bisect.c')
-rw-r--r-- | bisect.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -215,11 +215,12 @@ static struct commit_list *best_bisection_sorted(struct commit_list *list, int n } qsort(array, cnt, sizeof(*array), compare_commit_dist); for (p = list, i = 0; i < cnt; i++) { - struct name_decoration *r = xmalloc(sizeof(*r) + 100); + char buf[100]; /* enough for dist=%d */ struct object *obj = &(array[i].commit->object); - sprintf(r->name, "dist=%d", array[i].distance); - r->next = add_decoration(&name_decoration, obj, r); + snprintf(buf, sizeof(buf), "dist=%d", array[i].distance); + add_name_decoration(DECORATION_NONE, buf, obj); + p->item = array[i].commit; p = p->next; } |