From: Willy Tarreau Date: Fri, 9 May 2014 20:40:55 +0000 (+0200) Subject: MINOR: tools: split is_addr() and is_inet_addr() X-Git-Tag: v1.5-dev25~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18ca2d48bf495a11c0a598ea211a18bf54535801;p=thirdparty%2Fhaproxy.git MINOR: tools: split is_addr() and is_inet_addr() The is_addr() function indicates if an address is set and is an IPv4 or IPv6 address. Let's rename it is_inet_addr() and make is_addr() also accept AF_UNIX addresses. --- diff --git a/include/common/standard.h b/include/common/standard.h index 86cafb5d60..8acd2778ea 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -627,7 +627,7 @@ static inline void clear_addr(struct sockaddr_storage *addr) /* returns non-zero if addr has a valid and non-null IPv4 or IPv6 address, * otherwise zero. */ -static inline int is_addr(struct sockaddr_storage *addr) +static inline int is_inet_addr(const struct sockaddr_storage *addr) { int i; @@ -642,6 +642,17 @@ static inline int is_addr(struct sockaddr_storage *addr) return 0; } +/* returns non-zero if addr has a valid and non-null IPv4 or IPv6 address, + * or is a unix address, otherwise returns zero. + */ +static inline int is_addr(const struct sockaddr_storage *addr) +{ + if (addr->ss_family == AF_UNIX) + return 1; + else + return is_inet_addr(addr); +} + /* returns port in network byte order */ static inline int get_net_port(struct sockaddr_storage *addr) {