forked from Lainports/freebsd-ports
This change merges the following upstream pull request into the Ruby interpreter: https://github.com/ruby/ruby/pull/6332 Adding this patch is no-op right now because we are not using POSIX (GNU) qsort_r(3) interface yet. It will fix build when the change is applied. Reviewed by: bapt (portmgr@), sunpoet (ruby@) PR: ports/266227 MFH: 2022Q3 Differential Revision: https://reviews.freebsd.org/D36492
29 lines
912 B
C
29 lines
912 B
C
--- util.c.orig 2022-04-12 11:25:48 UTC
|
|
+++ util.c
|
|
@@ -210,6 +210,7 @@ typedef int (cmpfunc_t)(const void*, const void*, void
|
|
|
|
typedef int (cmpfunc_t)(const void*, const void*, void*);
|
|
|
|
+#if !defined HAVE_GNU_QSORT_R
|
|
#if defined HAVE_QSORT_S && defined RUBY_MSVCRT_VERSION
|
|
/* In contrast to its name, Visual Studio qsort_s is incompatible with
|
|
* C11 in the order of the comparison function's arguments, and same
|
|
@@ -255,7 +256,7 @@ ruby_qsort(void* base, const size_t nel, const size_t
|
|
qsort_s(base, nel, size, cmp, d);
|
|
}
|
|
# define HAVE_GNU_QSORT_R 1
|
|
-#elif !defined HAVE_GNU_QSORT_R
|
|
+#else
|
|
/* mm.c */
|
|
|
|
#define mmtype long
|
|
@@ -521,7 +522,8 @@ ruby_qsort(void* base, const size_t nel, const size_t
|
|
else goto nxt; /* need not to sort both sides */
|
|
}
|
|
}
|
|
-#endif /* HAVE_GNU_QSORT_R */
|
|
+#endif
|
|
+#endif /* !HAVE_GNU_QSORT_R */
|
|
|
|
char *
|
|
ruby_strdup(const char *str)
|