network_endpoint_addr(union network_endpoint *ep, int *addr_len)
{
if (ep->sa.sa_family == AF_INET6) {
- *addr_len = sizeof(ep->in6.sin6_addr);
+ if (addr_len)
+ *addr_len = sizeof(ep->in6.sin6_addr);
return &ep->in6.sin6_addr;
}
- *addr_len = sizeof(ep->in.sin_addr);
+ if (addr_len)
+ *addr_len = sizeof(ep->in.sin_addr);
return &ep->in.sin_addr;
}
return !memcmp(a1, a2, len);
}
-int network_get_endpoint(union network_endpoint *dest, const char *str,
+int network_get_endpoint(union network_endpoint *dest, int af, const char *str,
int default_port, int idx);
int network_get_subnet(int af, union network_addr *addr, int *mask,
const char *str);