From 34d81974d341e0174d1fc690b4d3e3b9b1767586 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 25 Apr 2011 17:04:40 -0400 Subject: ipv6 parsing code (formerly dummied-out) --- src/network/__ipparse.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/network/__ipparse.c') diff --git a/src/network/__ipparse.c b/src/network/__ipparse.c index 604bdc2f..b0647aac 100644 --- a/src/network/__ipparse.c +++ b/src/network/__ipparse.c @@ -2,11 +2,13 @@ #include #include #include +#include #include "__dns.h" #include -int __ipparse(void *dest, int family, const char *s) +int __ipparse(void *dest, int family, const char *s0) { + const char *s = s0; unsigned char *d = dest; unsigned long a[16] = { 0 }; const char *z; @@ -37,5 +39,7 @@ int __ipparse(void *dest, int family, const char *s) return 0; not_v4: - return -1; + s = s0; + ((struct sockaddr_in6 *)d)->sin6_family = AF_INET6; + return inet_pton(AF_INET6, s, (void *)&((struct sockaddr_in6 *)d)->sin6_addr) <= 0 ? -1 : 0; } -- cgit v1.2.1