diff --git a/WINGs/WUtil.h b/WINGs/WUtil.h index eba5ce77..f2800abf 100644 --- a/WINGs/WUtil.h +++ b/WINGs/WUtil.h @@ -129,6 +129,8 @@ typedef struct W_Connection WMConnection; +typedef int WMCompareDataProc(const void *item1, const void *item2); + typedef void WMFreeDataProc(void *data); /* Used by WMBag or WMArray for matching data */ @@ -379,7 +381,7 @@ int WMCountInArray(WMArray *array, void *item); * > 0 if a > b * = 0 if a = b */ -int WMSortArray(WMArray *array, int (*comparer)(const void*, const void*)); +int WMSortArray(WMArray *array, WMCompareDataProc *comparer); void WMMapArray(WMArray *array, void (*function)(void*, void*), void *data); @@ -439,7 +441,7 @@ void* WMReplaceInBag(WMBag *bag, int index, void *item); * > 0 if a > b * = 0 if a = b */ -int WMSortBag(WMBag *bag, int (*comparer)(const void*, const void*)); +int WMSortBag(WMBag *bag, WMCompareDataProc *comparer); void WMEmptyBag(WMBag *bag); diff --git a/WINGs/array.c b/WINGs/array.c index 8dd77047..c90de01c 100644 --- a/WINGs/array.c +++ b/WINGs/array.c @@ -250,7 +250,7 @@ WMCountInArray(WMArray *array, void *item) int -WMSortArray(WMArray *array, int (*comparer)(const void*, const void*)) +WMSortArray(WMArray *array, WMCompareDataProc *comparer) { qsort(array->items, array->itemCount, sizeof(void*), comparer); diff --git a/WINGs/bagtree.c b/WINGs/bagtree.c index 4e7b0c2e..8ad7872b 100644 --- a/WINGs/bagtree.c +++ b/WINGs/bagtree.c @@ -658,7 +658,7 @@ WMReplaceInBag(WMBag *self, int index, void *item) int -WMSortBag(WMBag *self, int (*comparer)(const void*, const void*)) +WMSortBag(WMBag *self, WMCompareDataProc *comparer) { void **items; W_Node *tmp;