try to cover AF_LOCAL in libwebsockets_get_peer_addresses

Signed-off-by: Andy Green <andy@warmcat.com>
diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index 40d25a8..d4e5435 100644
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -25,6 +25,7 @@
 
 #else
 #include <ifaddrs.h>
+#include <sys/un.h>
 #endif
 
 #ifdef LWS_OPENSSL_SUPPORT
@@ -371,6 +372,7 @@
 	char ip[128];
 	unsigned char *p;
 	int n;
+	struct sockaddr_un *un;
 
 	rip[0] = '\0';
 	name[0] = '\0';
@@ -400,11 +402,17 @@
 		p = (unsigned char *)host1->h_addr_list[n++];
 		if (p == NULL)
 			continue;
-		if (host1->h_addrtype != AF_INET)
+		if ((host1->h_addrtype != AF_INET) &&
+						(host1->h_addrtype != AF_LOCAL))
 			continue;
 
-		sprintf(ip, "%u.%u.%u.%u",
-				p[0], p[1], p[2], p[3]);
+		if (host1->h_addrtype == AF_INET)
+			sprintf(ip, "%u.%u.%u.%u", p[0], p[1], p[2], p[3]);
+		else {
+			un = (struct sockaddr_un *)p;
+			strncpy(ip, un->sun_path, sizeof(ip) -1);
+			ip[sizeof(ip) - 1] = '\0';
+		}
 		p = NULL;
 		strncpy(rip, ip, rip_len);
 		rip[rip_len - 1] = '\0';