From f4189cd649c821a21b2c0cf0e87df1efdf2c24af Mon Sep 17 00:00:00 2001 From: "Pedro F. Giffuni" Date: Mon, 1 Sep 2014 22:25:42 +0000 Subject: [PATCH] Add bsearch_b to the libc map and the stdlib header. bsearch_b is the Apple blocks enabled version of bsearch(3). This was added to libc in Revision 264042 but the commit missed the declaration required to make use of it. While here move some other block-related functions to the BSD_VISIBLE block as these are non-standard. Phabric: D638 Reviewed by: theraven, wollman --- include/stdlib.h | 14 +++++++------- lib/libc/stdlib/Symbol.map | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/stdlib.h b/include/stdlib.h index 4aa372becb46..2f580dc6110d 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -82,9 +82,6 @@ extern int ___mb_cur_max(void); _Noreturn void abort(void); int abs(int) __pure2; int atexit(void (*)(void)); -#ifdef __BLOCKS__ -int atexit_b(void (^)(void)); -#endif double atof(const char *); int atoi(const char *); long atol(const char *); @@ -103,10 +100,6 @@ size_t mbstowcs(wchar_t * __restrict , const char * __restrict, size_t); int mbtowc(wchar_t * __restrict, const char * __restrict, size_t); void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); -#ifdef __BLOCKS__ -void qsort_b(void *, size_t, size_t, - int (^)(const void *, const void *)); -#endif int rand(void); void *realloc(void *, size_t); void srand(unsigned); @@ -264,6 +257,11 @@ void arc4random_buf(void *, size_t); void arc4random_stir(void); __uint32_t arc4random_uniform(__uint32_t); +#ifdef __BLOCKS__ +int atexit_b(void (^)(void)); +void *bsearch_b(const void *, const void *, size_t, + size_t, int (^)(const void *, const void *)); +#endif char *getbsize(int *, long *); /* getcap(3) functions */ char *cgetcap(char *, const char *, int); @@ -289,6 +287,8 @@ const char * int heapsort(void *, size_t, size_t, int (*)(const void *, const void *)); #ifdef __BLOCKS__ int heapsort_b(void *, size_t, size_t, int (^)(const void *, const void *)); +void qsort_b(void *, size_t, size_t, + int (^)(const void *, const void *)); #endif int l64a_r(long, char *, int); int mergesort(void *, size_t, size_t, int (*)(const void *, const void *)); diff --git a/lib/libc/stdlib/Symbol.map b/lib/libc/stdlib/Symbol.map index 64c0e169dd27..8355f9a0f8d8 100644 --- a/lib/libc/stdlib/Symbol.map +++ b/lib/libc/stdlib/Symbol.map @@ -106,6 +106,7 @@ FBSD_1.3 { FBSD_1.4 { atexit_b; + bsearch_b; heapsort_b; mergesort_b; qsort_b;