diff --git a/tests/netdb/getaddrinfo.c b/tests/netdb/getaddrinfo.c index e1bb13562f..bdf694f75f 100644 --- a/tests/netdb/getaddrinfo.c +++ b/tests/netdb/getaddrinfo.c @@ -31,18 +31,24 @@ int main(void) { case AF_INET: ptr = &((struct sockaddr_in *) res->ai_addr)->sin_addr; break; +#ifdef AF_INET6 case AF_INET6: ptr = &((struct sockaddr_in6 *) res->ai_addr)->sin6_addr; break; +#endif + default: + ptr = NULL; } - inet_ntop(res->ai_family, ptr, addrstr, INET6_ADDRSTRLEN); + if (ptr) { + inet_ntop(res->ai_family, ptr, addrstr, INET6_ADDRSTRLEN); - printf( - "IPv%d address: %s (%s)\n", - res->ai_family == AF_INET6 ? 6 : 4, - addrstr, - res->ai_canonname - ); + printf( + "IPv%d address: %s (%s)\n", + res->ai_family == AF_INET ? 4 : 6, + addrstr, + res->ai_canonname + ); + } res = res->ai_next; }