From 62beacd300a6d3c62943723928f45ef852485e62 Mon Sep 17 00:00:00 2001 From: Russell Belfer Date: Mon, 11 Mar 2013 16:43:58 -0700 Subject: Sorting function cleanup and MinGW fix Clean up some sorting function stuff including fixing qsort_r on MinGW, common function pointer type for comparison, and basic insertion sort implementation (which we, regrettably, fall back on for MinGW). --- src/util.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/util.h') diff --git a/src/util.h b/src/util.h index e77f17efc..c0f271997 100644 --- a/src/util.h +++ b/src/util.h @@ -146,15 +146,17 @@ typedef int (*git__tsort_cmp)(const void *a, const void *b); extern void git__tsort(void **dst, size_t size, git__tsort_cmp cmp); -typedef int (*git__tsort_r_cmp)(const void *a, const void *b, void *payload); +typedef int (*git__sort_r_cmp)(const void *a, const void *b, void *payload); extern void git__tsort_r( - void **dst, size_t size, git__tsort_r_cmp cmp, void *payload); - -typedef int (*git__qsort_r_cmp)(const void *a, const void *b, void *payload); + void **dst, size_t size, git__sort_r_cmp cmp, void *payload); extern void git__qsort_r( - void *els, size_t nel, size_t elsize, git__qsort_r_cmp cmp, void *payload); + void *els, size_t nel, size_t elsize, git__sort_r_cmp cmp, void *payload); + +extern void git__insertsort_r( + void *els, size_t nel, size_t elsize, void *swapel, + git__sort_r_cmp cmp, void *payload); /** * @param position If non-NULL, this will be set to the position where the -- cgit v1.2.1