aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2022-09-30 20:45:51 +0000
committerXin LI <delphij@FreeBSD.org>2022-09-30 22:28:06 +0000
commit7df902171f69003e364e23feefc7d15e4aa97ed4 (patch)
tree65f501f474212f53e66a4fccab8c0fd3f5ec25a9
parent638b276a416a4a744d51553ec986729ab035e711 (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.h34
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)));