Commit 03fccd150512ad22c9e27e5d597bf02190ee93cf

Guillem Jover 2022-10-05T12:08:31

include: Adjust reallocarray() per glibc adoption On glibc 2.29 reallocarray() was moved to _DEFAULT_SOURCE. Closes: !20 Based-on-patch-by: Callum Farmer <gmbr3@opensuse.org> Signed-off-by: Guillem Jover <guillem@hadrons.org>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
index ac60dc6..5732fd1 100644
--- a/include/bsd/stdlib.h
+++ b/include/bsd/stdlib.h
@@ -77,7 +77,8 @@ int sradixsort(const unsigned char **base, int nmemb,
 void *reallocf(void *ptr, size_t size);
 #if !defined(__GLIBC__) || \
     !__GLIBC_PREREQ(2, 26) || \
-    !defined(_GNU_SOURCE)
+    (__GLIBC_PREREQ(2, 26) && !__GLIBC_PREREQ(2, 29) && !defined(_GNU_SOURCE)) || \
+    (__GLIBC_PREREQ(2, 29) && !defined(_DEFAULT_SOURCE))
 void *reallocarray(void *ptr, size_t nmemb, size_t size);
 #endif
 void *recallocarray(void *ptr, size_t oldnmemb, size_t nmemb, size_t size);