Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F158030903
D36492.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D36492.diff
View Options
diff --git a/lang/ruby27/files/patch-util.c b/lang/ruby27/files/patch-util.c
new file mode 100644
--- /dev/null
+++ b/lang/ruby27/files/patch-util.c
@@ -0,0 +1,29 @@
+--- 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)
diff --git a/lang/ruby30/files/patch-util.c b/lang/ruby30/files/patch-util.c
new file mode 100644
--- /dev/null
+++ b/lang/ruby30/files/patch-util.c
@@ -0,0 +1,29 @@
+--- util.c.orig 2022-04-12 11:48:55 UTC
++++ util.c
+@@ -214,6 +214,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
+@@ -259,7 +260,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
+@@ -525,7 +526,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)
diff --git a/lang/ruby31/files/patch-util.c b/lang/ruby31/files/patch-util.c
new file mode 100644
--- /dev/null
+++ b/lang/ruby31/files/patch-util.c
@@ -0,0 +1,29 @@
+--- util.c.orig 2022-04-12 11:11:15 UTC
++++ util.c
+@@ -218,6 +218,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
+@@ -263,7 +264,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
+@@ -530,7 +531,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)
diff --git a/lang/ruby32/files/patch-util.c b/lang/ruby32/files/patch-util.c
new file mode 100644
--- /dev/null
+++ b/lang/ruby32/files/patch-util.c
@@ -0,0 +1,29 @@
+--- util.c.orig 2022-04-12 11:48:55 UTC
++++ util.c
+@@ -214,6 +214,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
+@@ -259,7 +260,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
+@@ -525,7 +526,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)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, May 28, 4:56 PM (16 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33589543
Default Alt Text
D36492.diff (4 KB)
Attached To
Mode
D36492: lang/ruby{27,30,31,32}: Improve qsort_r() detection.
Attached
Detach File
Event Timeline
Log In to Comment