X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/05b3f1f69c02a260bb8315dcedd60d35daf1875c..16b0fea8ae1a581d568dbee2efa2932aa4e6fcce:/lib/addr.c diff --git a/lib/addr.c b/lib/addr.c index bb4f06c..1b62251 100644 --- a/lib/addr.c +++ b/lib/addr.c @@ -33,6 +33,9 @@ #if HAVE_SYS_UN_H # include #endif +#if HAVE_WS2TCPIP_H +# include +#endif #include "log.h" #include "printf.h" @@ -170,12 +173,12 @@ static inline char *format_sockaddr4(const struct sockaddr_in *sin4) { if(sin4->sin_port) byte_xasprintf(&r, "%s port %u", - inet_ntop(sin4->sin_family, &sin4->sin_addr, + inet_ntop(sin4->sin_family, (void *)&sin4->sin_addr, buffer, sizeof buffer), ntohs(sin4->sin_port)); else byte_xasprintf(&r, "%s", - inet_ntop(sin4->sin_family, &sin4->sin_addr, + inet_ntop(sin4->sin_family, (void *)&sin4->sin_addr, buffer, sizeof buffer)); return r; } @@ -186,12 +189,12 @@ static inline char *format_sockaddr6(const struct sockaddr_in6 *sin6) { if(sin6->sin6_port) byte_xasprintf(&r, "%s port %u", - inet_ntop(sin6->sin6_family, &sin6->sin6_addr, + inet_ntop(sin6->sin6_family, (void *)&sin6->sin6_addr, buffer, sizeof buffer), ntohs(sin6->sin6_port)); else byte_xasprintf(&r, "%s", - inet_ntop(sin6->sin6_family, &sin6->sin6_addr, + inet_ntop(sin6->sin6_family, (void *)&sin6->sin6_addr, buffer, sizeof buffer)); return r; } @@ -321,7 +324,7 @@ void netaddress_format(const struct netaddress *na, if(na->port != -1) { char buffer[64]; - snprintf(buffer, sizeof buffer, "%d", na->port); + byte_snprintf(buffer, sizeof buffer, "%d", na->port); vector_append(v, xstrdup(buffer)); } vector_terminate(v); @@ -349,7 +352,7 @@ struct addrinfo *netaddress_resolve(const struct netaddress *na, hints->ai_family = na->af; hints->ai_protocol = protocol; hints->ai_flags = passive ? AI_PASSIVE : 0; - snprintf(service, sizeof service, "%d", na->port); + byte_snprintf(service, sizeof service, "%d", na->port); rc = getaddrinfo(na->address, service, hints, &res); if(rc) { disorder_error(0, "getaddrinfo %s %d: %s",