X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=utils.h;h=5d7acc85637bc69aa219c1dfc1495c3f4c86cf57;hb=52144f723bec2f0dc3b2658c38fb8cbefa9a0cfc;hp=164070af8df9851962b2215da54722424a257d69;hpb=395659b9c41563d7cf6410b7d2b87b22db242ed7;p=project%2Funetd.git diff --git a/utils.h b/utils.h index 164070a..5d7acc8 100644 --- a/utils.h +++ b/utils.h @@ -30,11 +30,13 @@ static inline void * 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; } @@ -53,7 +55,7 @@ network_endpoint_addr_equal(union network_endpoint *ep1, union network_endpoint 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);