| 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]) { |