From 1902b602b65ebe6d2f04e0847218015d48314727 Mon Sep 17 00:00:00 2001 From: Karl Ramm Date: Mon, 21 Feb 2011 20:37:57 +0000 Subject: Some getnameinfos (notably FreeBSD's) are pickier about the length. Fixes #58 --- zwgc/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'zwgc') diff --git a/zwgc/main.c b/zwgc/main.c index 5335678..7383f09 100644 --- a/zwgc/main.c +++ b/zwgc/main.c @@ -416,7 +416,11 @@ notice_handler(ZNotice_t *notice) notice_callback, notice); #else ret = getnameinfo((const struct sockaddr *)&(notice->z_sender_sockaddr), - sizeof(notice->z_sender_sockaddr), + notice->z_sender_sockaddr.sa.sa_family == AF_INET ? + sizeof(struct sockaddr_in) : + notice->z_sender_sockaddr.sa.sa_family == AF_INET6 ? + sizeof(struct sockaddr_in6) : + sizeof(notice->z_sender_sockaddr), node, sizeof(node), NULL, 0, 0); if (ret != 0) strcpy(node, "?"); -- cgit v1.2.3