about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-08-21 21:46:57 -0400
committerRich Felker <dalias@aerifal.cx>2013-08-21 21:46:57 -0400
commitecf4e24d811085804033b76542acfd87d3f14bcb (patch)
tree90d89d009f4cd4642a24a31a62d0105f47b17b2a
parent580b8d8c52624f17e39b19e8cc9e0cbea1510b45 (diff)
downloadmusl-ecf4e24d811085804033b76542acfd87d3f14bcb.tar.gz
musl-ecf4e24d811085804033b76542acfd87d3f14bcb.tar.xz
musl-ecf4e24d811085804033b76542acfd87d3f14bcb.zip
add SUN_LEN macro to sys/un.h under appropriate feature tests
this is ugly and useless, but it seems to be the least-ugly way to
provide it...
-rw-r--r--include/sys/un.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/sys/un.h b/include/sys/un.h
index 769dac6b..7494f1a3 100644
--- a/include/sys/un.h
+++ b/include/sys/un.h
@@ -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