} else { // IPv6
struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;
unsigned char ipv6loopb[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
if ((memcmp(ipv6->sin6_addr.s6_addr, ipv6loopb, 16)) != 0)
break;
} else { // IPv6
struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;
unsigned char ipv6loopb[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
if ((memcmp(ipv6->sin6_addr.s6_addr, ipv6loopb, 16)) != 0)
break;