diff options
Diffstat (limited to 'lib/hostip4.c')
-rw-r--r-- | lib/hostip4.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/hostip4.c b/lib/hostip4.c index e6ba710d8..750e0dd5a 100644 --- a/lib/hostip4.c +++ b/lib/hostip4.c @@ -131,6 +131,16 @@ Curl_addrinfo *Curl_ipv4_resolve_r(const char *hostname, struct in_addr in; struct hostent *buf = NULL; +#ifdef ENABLE_IPV6 + { + struct in6_addr in6; + /* check if this is an IPv6 address string */ + if(Curl_inet_pton(AF_INET6, hostname, &in6) > 0) + /* This is an IPv6 address literal */ + return Curl_ip2addr(AF_INET6, &in6, hostname, port); + } +#endif /* ENABLE_IPV6 */ + if(Curl_inet_pton(AF_INET, hostname, &in) > 0) /* This is a dotted IP address 123.123.123.123-style */ return Curl_ip2addr(AF_INET, &in, hostname, port); |