Commit aa27034d authored by unknown's avatar unknown

IPv6 patch - part V. (win32)

parent adc5d769
...@@ -229,17 +229,6 @@ int zmq::resolve_ip_interface (sockaddr_storage* addr_, socklen_t *addr_len_, ...@@ -229,17 +229,6 @@ int zmq::resolve_ip_interface (sockaddr_storage* addr_, socklen_t *addr_len_,
// There's no such interface name. Assume literal address. // There's no such interface name. Assume literal address.
addrinfo *res = NULL; addrinfo *res = NULL;
#if defined ZMQ_HAVE_WINDOWS
// Old versions of Windows don't support inet_pton
// so let's rather use inet_addr instead.
// TODO: This code obviously doesn't work for IPv6 addresses...
ip4_addr.sin_addr.S_un.S_addr = inet_addr (iface.c_str ());
if (ip4_addr.sin_addr.S_un.S_addr == INADDR_NONE) {
errno = ENODEV;
return -1;
}
#else
// Set up the query. // Set up the query.
addrinfo req; addrinfo req;
memset (&req, 0, sizeof (req)); memset (&req, 0, sizeof (req));
...@@ -263,13 +252,9 @@ int zmq::resolve_ip_interface (sockaddr_storage* addr_, socklen_t *addr_len_, ...@@ -263,13 +252,9 @@ int zmq::resolve_ip_interface (sockaddr_storage* addr_, socklen_t *addr_len_,
} }
// Use the first result. // Use the first result.
out_addr = res->ai_addr; zmq_assert (res->ai_addrlen <= sizeof (*addr_));
out_addrlen = res->ai_addrlen; memcpy (addr_, res->ai_addr, res->ai_addrlen);
#endif *addr_len_ = res->ai_addrlen;
zmq_assert (out_addrlen <= sizeof (*addr_));
memcpy (addr_, out_addr, out_addrlen);
*addr_len_ = out_addrlen;
// Cleanup getaddrinfo after copying the possibly referenced result. // Cleanup getaddrinfo after copying the possibly referenced result.
if (res) if (res)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment