17 lines
417 B
C
17 lines
417 B
C
#include <stdlib.h>
|
|
|
|
typedef int (*cmpfun)(const void *, const void *);
|
|
typedef int (*cmpfun_r)(const void *, const void *, cmpfun);
|
|
void qsort_r(void *base, size_t nel, size_t width, cmpfun_r cmp, cmpfun arg);
|
|
|
|
|
|
static int wrapper_cmp(const void *v1, const void *v2, cmpfun cmp)
|
|
{
|
|
return cmp(v1, v2);
|
|
}
|
|
|
|
void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
|
|
{
|
|
qsort_r(base, nel, width, wrapper_cmp, cmp);
|
|
}
|