diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/server/resolve.c | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/tests/server/resolve.c b/tests/server/resolve.c index 206245aba..34f14e066 100644 --- a/tests/server/resolve.c +++ b/tests/server/resolve.c @@ -107,16 +107,8 @@ int main(int argc, char *argv[]) atexit(win32_cleanup); #endif - if(!use_ipv6) { - /* gethostbyname() resolve */ - struct hostent *he; - - he = gethostbyname(host); - - rc = !he; - } - else { #ifdef ENABLE_IPV6 + if(use_ipv6) { /* Check that the system has IPv6 enabled before checking the resolver */ curl_socket_t s = socket(PF_INET6, SOCK_DGRAM, 0); if(s == CURL_SOCKET_BAD) @@ -125,28 +117,38 @@ int main(int argc, char *argv[]) else { sclose(s); } + } - if(rc == 0) { - /* getaddrinfo() resolve */ - struct addrinfo *ai; - struct addrinfo hints; - - memset(&hints, 0, sizeof(hints)); - hints.ai_family = PF_INET6; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_CANONNAME; - /* Use parenthesis around functions to stop them from being replaced by - the macro in memdebug.h */ - rc = (getaddrinfo)(host, "80", &hints, &ai); - if(rc == 0) - (freeaddrinfo)(ai); - } - + if(rc == 0) { + /* getaddrinfo() resolve */ + struct addrinfo *ai; + struct addrinfo hints; + + memset(&hints, 0, sizeof(hints)); + hints.ai_family = use_ipv6 ? PF_INET6 : PF_INET; + hints.ai_socktype = SOCK_STREAM; + hints.ai_flags = AI_CANONNAME; + /* Use parenthesis around functions to stop them from being replaced by + the macro in memdebug.h */ + rc = (getaddrinfo)(host, "80", &hints, &ai); + if(rc == 0) + (freeaddrinfo)(ai); + } #else + if(use_ipv6) { puts("IPv6 support has been disabled in this program"); return 1; -#endif } + else { + /* gethostbyname() resolve */ + struct hostent *he; + + he = gethostbyname(host); + + rc = !he; + } +#endif + if(rc) printf("Resolving %s '%s' didn't work\n", ipv_inuse, host); |