diff options
author | Xin LI <delphij@FreeBSD.org> | 2022-09-30 20:45:51 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2022-09-30 22:28:06 +0000 |
commit | 7df902171f69003e364e23feefc7d15e4aa97ed4 (patch) | |
tree | 65f501f474212f53e66a4fccab8c0fd3f5ec25a9 | |
parent | 638b276a416a4a744d51553ec986729ab035e711 (diff) |
databases/ejdb: unbreak on -CURRENT after GNU qsort_r
PR: 266227
Exp-run by: antoine
Approved by: portmgr
-rw-r--r-- | databases/ejdb/files/patch-src_util_sort__r.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/databases/ejdb/files/patch-src_util_sort__r.h b/databases/ejdb/files/patch-src_util_sort__r.h new file mode 100644 index 000000000000..099d67ade3bb --- /dev/null +++ b/databases/ejdb/files/patch-src_util_sort__r.h @@ -0,0 +1,34 @@ +--- src/util/sort_r.h.orig 2022-02-23 10:00:23 UTC ++++ src/util/sort_r.h +@@ -25,10 +25,11 @@ + #define _SORT_R_INLINE inline + + #if ( defined __APPLE__ || defined __MACH__ || defined __DARWIN__ \ +- || defined __FreeBSD__ || defined __DragonFly__) && defined JB_HAVE_QSORT_R ++ || (defined __FreeBSD__ && !defined(qsort_r)) || defined __DragonFly__) && defined JB_HAVE_QSORT_R + # define _SORT_R_BSD + #elif ( defined _GNU_SOURCE || defined __gnu_hurd__ || defined __GNU__ \ +- || defined __linux__ || defined __MINGW32__ || defined __GLIBC__) && defined JB_HAVE_QSORT_R ++ || defined __linux__ || defined __MINGW32__ || defined __GLIBC__ \ ++ || (defined (__FreeBSD__) && defined(qsort_r))) && defined JB_HAVE_QSORT_R + # define _SORT_R_LINUX + #elif (defined _WIN32 || defined _WIN64 || defined __WINDOWS__) + # define _SORT_R_WINDOWS +@@ -255,7 +256,7 @@ static _SORT_R_INLINE void sort_r( + #if defined _SORT_R_BSD + + /* Ensure qsort_r is defined */ +-extern void qsort_r( ++extern void (qsort_r)( + void *base, size_t nel, size_t width, void *thunk, + int (*compar)(void *_thunk, + const void *_a, const void *_b)); +@@ -283,7 +284,7 @@ typedef int (*__compar_d_fn_t)(const void*, const void + #if defined _SORT_R_LINUX + + typedef int (*__compar_d_fn_t)(const void*, const void*, void*); +-extern void qsort_r( ++extern void (qsort_r)( + void *base, size_t nel, size_t width, + __compar_d_fn_t __compar, void *arg) + __attribute__((nonnull(1, 4))); |