Commit b731b84f authored by Steffen Vogel's avatar Steffen Vogel 🎅🏼
Browse files

list: fix portability issues of list_sort() os BSD-based systems

parent 185833cc
......@@ -41,10 +41,14 @@ static int cmp_contains(const void *a, const void *b) {
return a == b ? 0 : 1;
}
#ifdef __APPLE__
static int cmp_sort(void *thunk, const void *a, const void *b) {
#else
static int cmp_sort(const void *a, const void *b, void *thunk) {
#endif
cmp_cb_t cmp = (cmp_cb_t) thunk;
return cmp(*(void **) a, *(void **) b);
return cmp(*(const void **) a, *(const void **) b);
}
int list_init(struct list *l)
......@@ -193,7 +197,11 @@ void list_sort(struct list *l, cmp_cb_t cmp)
assert(l->state == STATE_INITIALIZED);
#ifdef __APPLE__
qsort_r(l->array, l->length, sizeof(void *), (void *) cmp, cmp_sort);
#else
qsort_r(l->array, l->length, sizeof(void *), cmp_sort, (void *) cmp);
#endif
pthread_mutex_unlock(&l->lock);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment