diff --git a/docs/src/misc.rst b/docs/src/misc.rst index 058c08aac..b377b158c 100644 --- a/docs/src/misc.rst +++ b/docs/src/misc.rst @@ -429,16 +429,20 @@ API .. note:: Returns [0,0,0] on Windows (i.e., it's not implemented). -.. c:function:: int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr) +.. c:function:: int uv_ip4_addr(const char* ip, unsigned short port, struct sockaddr_in* addr) Convert a string containing an IPv4 addresses to a binary structure. -.. c:function:: int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr) + .. versionchanged:: 2.0.0 now `port` is a `unsigned short` instead + of an `int`. + +.. c:function:: int uv_ip6_addr(const char* ip, unsigned short port, struct sockaddr_in6* addr) Convert a string containing an IPv6 addresses to a binary structure. .. versionchanged:: 2.0.0: :man:`if_nametoindex(3)` errors are no longer ignored on Unix platforms. + `port` is a `unsigned short` instead of an `int`. .. c:function:: int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size) diff --git a/include/uv.h b/include/uv.h index e3233c0fa..f62d59954 100644 --- a/include/uv.h +++ b/include/uv.h @@ -1854,8 +1854,8 @@ UV_EXTERN int uv_fs_event_getpath(uv_fs_event_t* handle, char* buffer, size_t* size); -UV_EXTERN int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr); -UV_EXTERN int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr); +UV_EXTERN int uv_ip4_addr(const char* ip, unsigned short port, struct sockaddr_in* addr); +UV_EXTERN int uv_ip6_addr(const char* ip, unsigned short port, struct sockaddr_in6* addr); UV_EXTERN int uv_ip4_name(const struct sockaddr_in* src, char* dst, size_t size); UV_EXTERN int uv_ip6_name(const struct sockaddr_in6* src, char* dst, size_t size); diff --git a/src/uv-common.c b/src/uv-common.c index c39f743bf..65614db84 100644 --- a/src/uv-common.c +++ b/src/uv-common.c @@ -252,7 +252,7 @@ const char* uv_strerror(int err) { #undef UV_STRERROR_GEN -int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr) { +int uv_ip4_addr(const char* ip, unsigned short port, struct sockaddr_in* addr) { memset(addr, 0, sizeof(*addr)); addr->sin_family = AF_INET; addr->sin_port = htons(port); @@ -263,7 +263,7 @@ int uv_ip4_addr(const char* ip, int port, struct sockaddr_in* addr) { } -int uv_ip6_addr(const char* ip, int port, struct sockaddr_in6* addr) { +int uv_ip6_addr(const char* ip, unsigned short port, struct sockaddr_in6* addr) { char address_part[40]; size_t address_part_size; const char* zone_index; diff --git a/test/echo-server.c b/test/echo-server.c index 572f87df5..d9e5968de 100644 --- a/test/echo-server.c +++ b/test/echo-server.c @@ -248,7 +248,7 @@ static void on_recv(uv_udp_t* handle, ASSERT_LE(0, uv_udp_send(req, handle, &sndbuf, 1, addr, on_send)); } -static int tcp4_echo_start(int port) { +static int tcp4_echo_start(unsigned short port) { struct sockaddr_in addr; int r; @@ -282,7 +282,7 @@ static int tcp4_echo_start(int port) { } -static int tcp6_echo_start(int port) { +static int tcp6_echo_start(unsigned short port) { struct sockaddr_in6 addr6; int r; @@ -317,7 +317,7 @@ static int tcp6_echo_start(int port) { } -static int udp4_echo_start(int port) { +static int udp4_echo_start(unsigned short port) { struct sockaddr_in addr; int r; diff --git a/test/test-getnameinfo.c b/test/test-getnameinfo.c index 415e48a4f..8f6b34ad8 100644 --- a/test/test-getnameinfo.c +++ b/test/test-getnameinfo.c @@ -28,7 +28,7 @@ static const char* address_ip4 = "127.0.0.1"; static const char* address_ip6 = "::1"; -static const int port = 80; +static const unsigned short port = 80; static struct sockaddr_in addr4; static struct sockaddr_in6 addr6;