377 cmp_func func; |
377 cmp_func func; |
378 void *data; |
378 void *data; |
379 }; |
379 }; |
380 |
380 |
381 static int cmp_func_swap_args(void *data, const void *x, const void *y) { |
381 static int cmp_func_swap_args(void *data, const void *x, const void *y) { |
382 cmpfnc_swapargs_info* info = data; |
382 struct cmpfnc_swapargs_info* info = data; |
383 return info->func(x, y, info->data); |
383 return info->func(x, y, info->data); |
384 } |
384 } |
385 |
385 |
386 static void ucx_qsort_r(void *array, size_t count, size_t elemsize, |
386 static void ucx_qsort_r(void *array, size_t count, size_t elemsize, |
387 cmp_func cmpfnc, void *data) { |
387 cmp_func cmpfnc, void *data) { |