diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-03-29 17:05:50 +0200 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-03-29 17:05:50 +0200 |
commit | 9b5e62657a7070186392521d21cfad95dee36596 (patch) | |
tree | 8e5c756b1c5afabb73c876fb64644c3acba86b2a /tests | |
parent | a285896c04fb2a205f270a4ae55a62b003adb87e (diff) | |
download | wolfbones-9b5e62657a7070186392521d21cfad95dee36596.tar.gz wolfbones-9b5e62657a7070186392521d21cfad95dee36596.tar.bz2 |
removed inet_ntop (is obsolete and ugly!), use getnameinfo instead
Diffstat (limited to 'tests')
-rw-r--r-- | tests/port/test_getaddrinfo.c | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/tests/port/test_getaddrinfo.c b/tests/port/test_getaddrinfo.c index a8bf79b..f163189 100644 --- a/tests/port/test_getaddrinfo.c +++ b/tests/port/test_getaddrinfo.c @@ -31,28 +31,20 @@ int main( void ) { /* loop over all returned results and do inverse lookup */ for( res = result; res != NULL; res = res->ai_next ) { - char s[100]; - const struct sockaddr_in *addr_ipv4; -#ifdef HAVE_IPV6 - const struct sockaddr_in6 *addr_ipv6; -#endif + char hostname[NI_MAXHOST] = ""; - memset( s, 0, 100 ); - switch( res->ai_family ) { - case AF_INET: - addr_ipv4 = (const struct sockaddr_in *)((void *)res->ai_addr); - inet_ntop( res->ai_family, &addr_ipv4->sin_addr, s, 100 ); - break; - -#ifdef HAVE_IPV6 - case AF_INET6: - addr_ipv6 = (const struct sockaddr_in6 *)((void *)res->ai_addr); - inet_ntop( res->ai_family, &addr_ipv6->sin6_addr, s, 100 ); - break; -#endif + error = getnameinfo( res->ai_addr, res->ai_addrlen, hostname, NI_MAXHOST, + NULL, 0, + NI_NUMERICSERV | NI_NUMERICHOST ); + if( error != 0 ) { + fprintf( stderr, "getnameinfo failed: %s (%d)\n", + gai_strerror( error ), error ); + return EXIT_FAILURE; } - printf( "%d %d %s\n", res->ai_family, res->ai_socktype, s ); + if( *hostname != '\0' ) { + printf( "%d %d %s\n", res->ai_family, res->ai_socktype, hostname ); + } } freeaddrinfo( result ); |