diff options
Diffstat (limited to 'deps/uv/src/uv-common.c')
-rw-r--r-- | deps/uv/src/uv-common.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/deps/uv/src/uv-common.c b/deps/uv/src/uv-common.c index 4129a36686..c4cf3c7f85 100644 --- a/deps/uv/src/uv-common.c +++ b/deps/uv/src/uv-common.c @@ -102,9 +102,7 @@ int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr) { memset(addr, 0, sizeof(*addr)); addr->sin_family = AF_INET; addr->sin_port = htons(port); - /* TODO(bnoordhuis) Don't use inet_addr(), no good way to detect errors. */ - addr->sin_addr.s_addr = inet_addr(ip); - return 0; + return uv_inet_pton(AF_INET, ip, &(addr->sin_addr.s_addr)); } @@ -140,10 +138,7 @@ int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr) { } #endif - /* TODO(bnoordhuis) Return an error when the address is bad. */ - uv_inet_pton(AF_INET6, ip, &addr->sin6_addr); - - return 0; + return uv_inet_pton(AF_INET6, ip, &addr->sin6_addr); } @@ -404,6 +399,9 @@ int uv__getaddrinfo_translate_error(int sys_err) { #if defined(EAI_BADFLAGS) case EAI_BADFLAGS: return UV_EAI_BADFLAGS; #endif +#if defined(EAI_BADHINTS) + case EAI_BADHINTS: return UV_EAI_BADHINTS; +#endif #if defined(EAI_CANCELED) case EAI_CANCELED: return UV_EAI_CANCELED; #endif @@ -424,6 +422,12 @@ int uv__getaddrinfo_translate_error(int sys_err) { case EAI_NONAME: return UV_EAI_NONAME; # endif #endif +#if defined(EAI_OVERFLOW) + case EAI_OVERFLOW: return UV_EAI_OVERFLOW; +#endif +#if defined(EAI_PROTOCOL) + case EAI_PROTOCOL: return UV_EAI_PROTOCOL; +#endif #if defined(EAI_SERVICE) case EAI_SERVICE: return UV_EAI_SERVICE; #endif |