summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--nss/getent.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ac3c7e24a5..2ef78544bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-08-15  Ulrich Drepper  <drepper@redhat.com>
 
+	* nss/getent.c (ahosts_keys_int): Correctly print IPv6 addresses.
+
 	* nss/getent.c: Allow queries for getaddrinfo with AF_INET and
 	AF_INET6.
 
diff --git a/nss/getent.c b/nss/getent.c
index 0f93e5121c..45a6a1ffe5 100644
--- a/nss/getent.c
+++ b/nss/getent.c
@@ -345,7 +345,9 @@ ahosts_keys_int (int af, int xflags, int number, char *key[])
 	      char buf[INET6_ADDRSTRLEN];
 	      printf ("%-15s %-6s %s\n",
 		      inet_ntop (runp->ai_family,
-				 &((struct sockaddr_in *) runp->ai_addr)->sin_addr,
+				 runp->ai_family == AF_INET
+				 ? (void *) &((struct sockaddr_in *) runp->ai_addr)->sin_addr
+				 : (void *) &((struct sockaddr_in6 *) runp->ai_addr)->sin6_addr,
 				 buf, sizeof (buf)),
 		      sockstr,
 		      runp->ai_canonname ?: "");