* 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