From 3ee63d3929df48b8ae485d476471a05cff01daf2 Mon Sep 17 00:00:00 2001 From: Brian Somers Date: Sat, 21 Jul 2001 00:18:54 +0000 Subject: Hint getaddrinfo() correctly if we're looking up a name that we got from an AF_INET6 address. MFC after: 1 week --- lib/libutil/realhostname.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/libutil/realhostname.c b/lib/libutil/realhostname.c index 7c409a8cfe70..258d8306d3b9 100644 --- a/lib/libutil/realhostname.c +++ b/lib/libutil/realhostname.c @@ -102,8 +102,15 @@ realhostname_sa(char *host, size_t hsize, struct sockaddr *addr, int addrlen) struct sockaddr *sa; memset(&hints, 0, sizeof(struct addrinfo)); - hints.ai_family = - (addr->sa_family == AF_INET) ? AF_INET : AF_UNSPEC; + switch (addr->sa_family) { + case AF_INET: + case AF_INET6: + hints.ai_family = addr->sa_family; + break; + default: + hints.ai_family = AF_UNSPEC; + break; + } hints.ai_flags = AI_CANONNAME; error = getaddrinfo(buf, NULL, &hints, &res); -- cgit v1.3