diff options
Diffstat (limited to 'deps/uv/src/unix/netbsd.c')
-rw-r--r-- | deps/uv/src/unix/netbsd.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/deps/uv/src/unix/netbsd.c b/deps/uv/src/unix/netbsd.c index 0fbcf108c1..b0b35b229f 100644 --- a/deps/uv/src/unix/netbsd.c +++ b/deps/uv/src/unix/netbsd.c @@ -326,9 +326,15 @@ uv_err_t uv_interface_addresses(uv_interface_address_t** addresses, int* count) address->name = strdup(ent->ifa_name); if (ent->ifa_addr->sa_family == AF_INET6) { - address->address.address6 = *((struct sockaddr_in6 *)ent->ifa_addr); + address->address.address6 = *((struct sockaddr_in6*) ent->ifa_addr); } else { - address->address.address4 = *((struct sockaddr_in *)ent->ifa_addr); + address->address.address4 = *((struct sockaddr_in*) ent->ifa_addr); + } + + if (ent->ifa_netmask->sa_family == AF_INET6) { + address->netmask.netmask6 = *((struct sockaddr_in6*) ent->ifa_netmask); + } else { + address->netmask.netmask4 = *((struct sockaddr_in*) ent->ifa_netmask); } address->is_internal = !!(ent->ifa_flags & IFF_LOOPBACK) ? 1 : 0; |