From 3f8c57c8f2250de6685d824bdfc28a9a8c4dcc01 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Thu, 18 Jul 2019 08:12:33 +0200 Subject: [PATCH] util: add UTI_IPSockAddrToString() This function prints an IPSockAddr. IPv6 addresses are printed in brackets to separate the address from the port. --- util.c | 15 +++++++++++++++ util.h | 2 ++ 2 files changed, 17 insertions(+) diff --git a/util.c b/util.c index e7e3442..7108c17 100644 --- a/util.c +++ b/util.c @@ -604,6 +604,21 @@ UTI_SockaddrFamilyToString(int family) /* ================================================== */ +char * +UTI_IPSockAddrToString(IPSockAddr *sa) +{ + char *result; + + result = NEXT_BUFFER; + snprintf(result, BUFFER_LENGTH, + sa->ip_addr.family != IPADDR_INET6 ? "%s:%hu" : "[%s]:%hu", + UTI_IPToString(&sa->ip_addr), sa->port); + + return result; +} + +/* ================================================== */ + char * UTI_TimeToLogForm(time_t t) { diff --git a/util.h b/util.h index e3d6767..8a0e37c 100644 --- a/util.h +++ b/util.h @@ -115,6 +115,8 @@ extern int UTI_IPAndPortToSockaddr(IPAddr *ip, unsigned short port, struct socka extern char *UTI_SockaddrToString(struct sockaddr *sa); extern const char *UTI_SockaddrFamilyToString(int family); +extern char *UTI_IPSockAddrToString(IPSockAddr *sa); + extern char *UTI_TimeToLogForm(time_t t); /* Adjust time following a frequency/offset change */