diff options
Diffstat (limited to 'src/util.h')
| -rw-r--r-- | src/util.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/util.h b/src/util.h index ee0d0e3ed..9bcd3203e 100644 --- a/src/util.h +++ b/src/util.h @@ -119,7 +119,15 @@ GIT_INLINE(const char *) git__next_line(const char *s) return s; } -extern void git__tsort(void **dst, size_t size, int (*cmp)(const void *, const void *)); +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); + +extern void git__tsort_r( + void **dst, size_t size, git__tsort_r_cmp cmp, void *payload); + /** * @param position If non-NULL, this will be set to the position where the @@ -130,7 +138,15 @@ extern int git__bsearch( void **array, size_t array_len, const void *key, - int (*compare)(const void *, const void *), + int (*compare)(const void *key, const void *element), + size_t *position); + +extern int git__bsearch_r( + void **array, + size_t array_len, + const void *key, + int (*compare_r)(const void *key, const void *element, void *payload), + void *payload, size_t *position); extern int git__strcmp_cb(const void *a, const void *b); |
