mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
* stdlib/stdlib.h: Define __compar_d_fn_t. Declare qsort_r.
* include/stdlib.h: Add hidden_proto for qsort_t and adjust protoype for _quicksort. * stdlib/msort.c (qsort): Now a wrapper around qsort_r. (qsort_r): Renamed from qsort. Take additional parameter and pass it on as third parameter to compare function and _quicksort. * stdlib/qsort.c (_quicksort): Take additional parameter and pass on to the compare function. * stdlib/Versions [libc] (GLIBC_2.8): Add qsort_r. * Versions.def: Add GLIBC_2.8 for libc.
This commit is contained in:
@ -673,6 +673,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
|
||||
@ -685,6 +688,11 @@ extern void *bsearch (__const void *__key, __const void *__base,
|
||||
using COMPAR to perform the comparisons. */
|
||||
extern void qsort (void *__base, size_t __nmemb, size_t __size,
|
||||
__compar_fn_t __compar) __nonnull ((1, 4));
|
||||
#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));
|
||||
#endif
|
||||
|
||||
|
||||
/* Return the absolute value of X. */
|
||||
|
Reference in New Issue
Block a user