summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nss/getent.c27
2 files changed, 19 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 5938d27a4b..2a0b4155ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2003-02-14 Thorsten Kukuk <kukuk@suse.de>
+
+ * nss/getent.c (print_hosts): Print all IP addresses of one host.
+
2003-02-15 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/tls.h: New file.
diff --git a/nss/getent.c b/nss/getent.c
index 168d6853a1..a9cba96f0c 100644
--- a/nss/getent.c
+++ b/nss/getent.c
@@ -232,21 +232,24 @@ group_keys (int number, char *key[])
static inline void
print_hosts (struct hostent *host)
{
- unsigned int i;
- char buf[INET6_ADDRSTRLEN];
- const char *ip = inet_ntop (host->h_addrtype, host->h_addr_list[0],
- buf, sizeof (buf));
-
- printf ("%-15s %s", ip, host->h_name);
+ unsigned int cnt;
- i = 0;
- while (host->h_aliases[i] != NULL)
+ for (cnt = 0; host->h_addr_list[cnt] != NULL; ++cnt)
{
- putchar_unlocked (' ');
- fputs_unlocked (host->h_aliases[i], stdout);
- ++i;
+ char buf[INET6_ADDRSTRLEN];
+ const char *ip = inet_ntop (host->h_addrtype, host->h_addr_list[cnt],
+ buf, sizeof (buf));
+
+ printf ("%-15s %s", ip, host->h_name);
+
+ unsigned int i;
+ for (i = 0; host->h_aliases[i] != NULL; ++i)
+ {
+ putchar_unlocked (' ');
+ fputs_unlocked (host->h_aliases[i], stdout);
+ }
+ putchar_unlocked ('\n');
}
- putchar_unlocked ('\n');
}
static int