summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndreas Baumann <abaumann@yahoo.com>2009-03-29 17:05:50 +0200
committerAndreas Baumann <abaumann@yahoo.com>2009-03-29 17:05:50 +0200
commit9b5e62657a7070186392521d21cfad95dee36596 (patch)
tree8e5c756b1c5afabb73c876fb64644c3acba86b2a /tests
parenta285896c04fb2a205f270a4ae55a62b003adb87e (diff)
downloadwolfbones-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.c30
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 );