- case AF_INET6:
- if (flags & NI_NUMERICHOST)
- {
- if (!inet_ntop (AF_INET6,
- &(((const struct sockaddr_in6 *) sa)->sin6_addr),
- addrbuf, sizeof(addrbuf)))
- return EAI_SYSTEM;
- }
- else
- {
- struct hostent *host_ent = gethostbyaddr(
- (char *)&(((struct sockaddr_in6 *)sa)->sin6_addr),
- sizeof(struct sockaddr_in6),
- sa->sa_family);
- if (host_ent != NULL)
- {
- if (nodelen <= snprintf(node, nodelen, "%s",
- host_ent->h_name))
- return EAI_OVERFLOW;
- }
- else
- {
- if (!inet_ntop (AF_INET6,
- &(((const struct sockaddr_in6 *) sa)->sin6_addr),
- addrbuf, sizeof(addrbuf)))
- {
- return EAI_SYSTEM;
- }
- if (nodelen <= snprintf(node, nodelen, "%s", addrbuf))
- return EAI_OVERFLOW;
- }
- }
- break;
+ case AF_INET6:
+ if (!inet_ntop (AF_INET6,
+ &(((const struct sockaddr_in6 *) sa)->sin6_addr),
+ node, nodelen))
+ return EAI_SYSTEM;
+ break;