From 515d54433138596e81267237542bd9168b8cc787 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Mon, 7 Nov 2011 09:24:30 +0100 Subject: stdlib: add qsort_r GNU extension like qsort but takes a 3 parameter comparision function. Signed-off-by: Bernhard Reutner-Fischer --- include/stdlib.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'include/stdlib.h') diff --git a/include/stdlib.h b/include/stdlib.h index e9a8b84c2..1f15531e4 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -690,6 +690,9 @@ typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; # endif #endif +#ifdef __USE_GNU +typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *); +#endif __BEGIN_NAMESPACE_STD /* Do a binary search for KEY in BASE, which consists of NMEMB elements @@ -703,7 +706,12 @@ extern void *bsearch (__const void *__key, __const void *__base, extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) __nonnull ((1, 4)); libc_hidden_proto(qsort) - +#ifdef __USE_GNU +extern void qsort_r (void *__base, size_t __nmemb, size_t __size, + __compar_d_fn_t __compar, void *__arg) + __nonnull ((1, 4)); +libc_hidden_proto(qsort_r) +#endif /* Return the absolute value of X. */ extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; -- cgit v1.2.3