add SUN_LEN macro to sys/un.h under appropriate feature tests
authorRich Felker <dalias@aerifal.cx>
Thu, 22 Aug 2013 01:46:57 +0000 (21:46 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 22 Aug 2013 01:46:57 +0000 (21:46 -0400)
this is ugly and useless, but it seems to be the least-ugly way to
provide it...

include/sys/un.h

index 769dac6b5326359c66f6aca5155a52f9547f7c36..7494f1a382ed0164f6e7dc35520e19d30e33c6bf 100644 (file)
@@ -1,7 +1,17 @@
 #ifndef        _SYS_UN_H
 #define        _SYS_UN_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <features.h>
+
 #define __NEED_sa_family_t
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define __NEED_size_t
+#endif
+
 #include <bits/alltypes.h>
 
 struct sockaddr_un
@@ -10,4 +20,13 @@ struct sockaddr_un
        char sun_path[108];
 };
 
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+size_t strlen(const char *);
+#define SUN_LEN(s) (2+strlen((s)->sun_path))
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif