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