aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/posix/getaddrinfo.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index ca8abc6..00788b7 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -368,14 +368,16 @@ gaih_inet (const char *name, const struct gaih_service *service,
struct hostent *h;
struct gaih_addrtuple **pat = &at;
int no_data = 0;
+ int no_inet6_data;
if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6)
gethosts (AF_INET6, struct in6_addr);
+ no_inet6_data = no_data;
if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET)
gethosts (AF_INET, struct in_addr);
- if (no_data != 0)
+ if (no_data != 0 && no_inet6_data != 0)
/* We made requests but they turned out no data. The name
is known, though. */
return (GAIH_OKIFUNSPEC | -EAI_NODATA);