* lib/getaddrinfo.c (getaddrinfo): Check AI_NUMERICHOST flag, too.
* lib/netdb.in.h: Define AI_NUMERICHOST if not defined yet.
---
lib/getaddrinfo.c | 4 +++-
lib/netdb.in.h | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c
index 542addc670..d9c1ec6abc 100644
--- a/lib/getaddrinfo.c
+++ b/lib/getaddrinfo.c
@@ -213,7 +213,8 @@ getaddrinfo (const char *restrict nodename,
return getaddrinfo_ptr (nodename, servname, hints, res);
# endif
- if (hints && (hints->ai_flags & ~(AI_CANONNAME|AI_PASSIVE|AI_NUMERICSERV)))
+ if (hints && (hints->ai_flags &
+ ~(AI_CANONNAME|AI_PASSIVE|AI_NUMERICSERV|AI_NUMERICHOST)))
/* FIXME: Support more flags. */
return EAI_BADFLAGS;
@@ -261,6 +262,7 @@ getaddrinfo (const char *restrict nodename,
port = se->s_port;
}
+ /* FIXME: Assume gethostbyname can accept a numeric address string. */
/* FIXME: Use gethostbyname_r if available. */
he = gethostbyname (nodename);
if (!he || he->h_addr_list[0] == NULL)
diff --git a/lib/netdb.in.h b/lib/netdb.in.h
index e8ba8f0978..9cad2d937a 100644
--- a/lib/netdb.in.h
+++ b/lib/netdb.in.h
@@ -103,7 +103,7 @@ struct addrinfo
# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */
# endif
-# if 0
+# ifndef AI_NUMERICHOST
# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */
# endif
--
2.42.0