From 14423a47266bbb37fe0b2fe5f24cef9e26037e38 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 21 Mar 2011 11:12:59 -0700 Subject: inet_diag: no need to rely on sin6_addr internals Seems to breaks under newer libc headers (on Debian sid). --- ext/raindrops/linux_inet_diag.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ext/raindrops/linux_inet_diag.c b/ext/raindrops/linux_inet_diag.c index 573ffb8..06b27fd 100644 --- a/ext/raindrops/linux_inet_diag.c +++ b/ext/raindrops/linux_inet_diag.c @@ -203,8 +203,7 @@ static struct listen_stats *stats_for(st_table *table, struct inet_diag_msg *r) case AF_INET6: { struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)&ss; in6->sin6_port = r->id.idiag_sport; - memcpy(&in6->sin6_addr.in6_u.u6_addr32, - &r->id.idiag_src, sizeof(__be32[4])); + memcpy(&in6->sin6_addr, &r->id.idiag_src, sizeof(__be32[4])); keylen = INET6_ADDRSTRLEN; /* [ ] */ alloca_len = 1 + keylen + 1 + 1 + portlen; -- cgit v1.2.3-24-ge0c7