diff options
author | Russell Belfer <rb@github.com> | 2013-03-11 16:43:58 -0700 |
---|---|---|
committer | Russell Belfer <rb@github.com> | 2013-03-11 16:43:58 -0700 |
commit | 62beacd300a6d3c62943723928f45ef852485e62 (patch) | |
tree | 88ec71b10d83cc0133ee39c3802f012fd4e2df83 /src/util.h | |
parent | a5eea2d7b760ebef0d2f397d763ec8eff32f38cd (diff) | |
download | libgit2-62beacd300a6d3c62943723928f45ef852485e62.tar.gz |
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).
Diffstat (limited to 'src/util.h')
-rw-r--r-- | src/util.h | 12 |
1 files changed, 7 insertions, 5 deletions
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 |