Signed-off-by: Yann Dirson <ydirson@xxxxxxxxxx> --- diffcore-rename.c | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) diff --git a/diffcore-rename.c b/diffcore-rename.c index a674fbb..a4e0a96 100644 --- a/diffcore-rename.c +++ b/diffcore-rename.c @@ -11,8 +11,8 @@ struct dst_obj { struct diff_filespec *two; }; -#define locate_element(list,elem,insert_ok) \ - _locate_element(elem, &list##_nr, &list##_alloc, \ +#define locate_element(list,elem,insert_ok) \ + _locate_element((void**)&list, elem, &list##_nr, &list##_alloc, \ sizeof(*list), insert_ok) /* Table of rename/copy destinations, "subclass" of dst_obj */ @@ -24,7 +24,7 @@ static int rename_dst_nr, rename_dst_alloc; #define locate_rename_dst(elem,insert_ok) \ locate_element(rename_dst, elem, insert_ok) -static void *_locate_element(struct diff_filespec *two, +static void *_locate_element(void **listp, struct diff_filespec *two, int *elem_nr_p, int *elem_alloc_p, size_t elem_size, int insert_ok) { @@ -35,7 +35,7 @@ static void *_locate_element(struct diff_filespec *two, last = (*elem_nr_p); while (last > first) { int next = (last + first) >> 1; - struct dst_obj *dst = (void*)rename_dst + (next * elem_size); + struct dst_obj *dst = *listp + (next * elem_size); int cmp = strcmp(two->path, dst->two->path); if (!cmp) return dst; @@ -51,13 +51,12 @@ static void *_locate_element(struct diff_filespec *two, /* insert to make it at "first" */ if ((*elem_alloc_p) <= (*elem_nr_p)) { (*elem_alloc_p) = alloc_nr(*elem_alloc_p); - rename_dst = xrealloc(rename_dst, - (*elem_alloc_p) * elem_size); + *listp = xrealloc(*listp, (*elem_alloc_p) * elem_size); } (*elem_nr_p)++; - first_elem_p = (void*)rename_dst + first * elem_size; + first_elem_p = *listp + first * elem_size; if (first < (*elem_nr_p)) - memmove((void*)rename_dst + (first + 1) * elem_size, + memmove(*listp + (first + 1) * elem_size, first_elem_p, ((*elem_nr_p) - first - 1) * elem_size); first_elem_p->two = alloc_filespec(two->path); -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html