Mercurial > dovecot > core-2.2
diff src/lib/net.c @ 21097:3f83d38ba0b3
lib: Add net_ipport2str
Converts struct ip_addr + port into either
127.0.0.1:6000 or [::1]:6000.
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Wed, 09 Nov 2016 15:17:01 +0200 |
parents | 13a159cfd232 |
children | 5ab8dc1a4a6f |
line wrap: on
line diff
--- a/src/lib/net.c Mon Nov 14 10:52:22 2016 +0200 +++ b/src/lib/net.c Wed Nov 09 15:17:01 2016 +0200 @@ -1046,6 +1046,18 @@ return 0; } +int net_ipport2str(const struct ip_addr *ip, in_port_t port, const char **str_r) +{ + if (!IPADDR_IS_V4(ip) && !IPADDR_IS_V6(ip)) return -1; + + *str_r = t_strdup_printf("%s%s%s:%u", + IPADDR_IS_V6(ip) ? "[" : "", + net_ip2addr(ip), + IPADDR_IS_V6(ip) ? "]" : "", + port); + return 0; +} + int net_ipv6_mapped_ipv4_convert(const struct ip_addr *src, struct ip_addr *dest) {