31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
fix undefined macros in musl
|
||
|
|
||
|
musl does not define glibc-specific macros, so use a simple version of
|
||
|
the macro when it is not defined.
|
||
|
|
||
|
This is very inefficient, however, but copying the code from glibc is
|
||
|
not really possible because it is LGPL while libselinux in Public
|
||
|
Domain, and we want to avoid license propagation, so this macro is
|
||
|
completely written from scratch, and non-optimal.
|
||
|
|
||
|
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||
|
|
||
|
diff -durN libselinux-2.1.13.orig/src/booleans.c libselinux-2.1.13/src/booleans.c
|
||
|
--- libselinux-2.1.13.orig/src/booleans.c 2013-02-06 02:43:22.000000000 +0100
|
||
|
+++ libselinux-2.1.13/src/booleans.c 2015-07-26 20:40:41.311801914 +0200
|
||
|
@@ -62,6 +62,14 @@
|
||
|
goto bad;
|
||
|
}
|
||
|
|
||
|
+/* Simple (but inefficient) version of _D_ALLOC_NAMLEN when
|
||
|
+ * building with a C library that misses it (e.g. musl).
|
||
|
+ * Note: glibc does a strlen on (d)->d_name, so assume it is safe.
|
||
|
+ */
|
||
|
+#ifndef _D_ALLOC_NAMLEN
|
||
|
+#define _D_ALLOC_NAMLEN(d) (strlen((d)->d_name)+1)
|
||
|
+#endif
|
||
|
+
|
||
|
for (i = 0; i < *len; i++) {
|
||
|
n[i] = (char *)malloc(_D_ALLOC_NAMLEN(namelist[i]));
|
||
|
if (!n[i]) {
|