44#if !defined(HAVE_QSORT_S) && !defined(HAVE_QSORT_R)
80 qsort_s(base, nmemb, size, compar, arg);
81#elif defined(HAVE_QSORT_R)
83 qsort_r(base, nmemb, size, compar, arg);
static int relay_compar(const void *a, const void *b)
Shim to pass context through to real comparator.
static qsort_r_compar_t global_compar
Original comparator in fallback implementation.
int(* qsort_compar_t)(const void *a, const void *b)
Prototype for generic comparison function, compatible with qsort()
void mutt_qsort_r(void *base, size_t nmemb, size_t size, qsort_r_compar_t compar, void *arg)
Sort an array, where the comparator has access to opaque data rather than requiring global variables.
static void * global_data
Original opaque data in fallback implementation.
Context-free sorting function.
int(* qsort_r_compar_t)(const void *a, const void *b, void *arg)
Prototype for generic comparison function, compatible with qsort_r()