diff options
| author | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-02-14 13:08:54 -0800 |
|---|---|---|
| committer | Adam Ierymenko <adam.ierymenko@gmail.com> | 2014-02-14 13:08:54 -0800 |
| commit | 01d13c153d312827a14b1adce6e83c2ac8456797 (patch) | |
| tree | 445cbfd5db0666d53907e23432c844e9e7caedf3 /node | |
| parent | c17082a4f8a5819738b3af63757630dc1191d745 (diff) | |
| download | infinitytier-01d13c153d312827a14b1adce6e83c2ac8456797.tar.gz infinitytier-01d13c153d312827a14b1adce6e83c2ac8456797.zip | |
Fix compiler warnings in Linux build.
Diffstat (limited to 'node')
| -rw-r--r-- | node/EthernetTap.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/node/EthernetTap.cpp b/node/EthernetTap.cpp index bcb6a876..0c05b96a 100644 --- a/node/EthernetTap.cpp +++ b/node/EthernetTap.cpp @@ -613,11 +613,9 @@ std::set<InetAddress> EthernetTap::ips() const case AF_INET6: { struct sockaddr_in6 *sin = (struct sockaddr_in6 *)p->ifa_addr; struct sockaddr_in6 *nm = (struct sockaddr_in6 *)p->ifa_netmask; - r.insert(InetAddress(sin->sin6_addr.s6_addr,16, - Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[0]) + - Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[1]) + - Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[2]) + - Utils::countBits(((const uint32_t *)(nm->sin6_addr.s6_addr))[3]))); + uint32_t b[4]; + memcpy(b,nm->sin6_addr.s6_addr,sizeof(b)); + r.insert(InetAddress(sin->sin6_addr.s6_addr,16,Utils::countBits(b[0]) + Utils::countBits(b[1]) + Utils::countBits(b[2]) + Utils::countBits(b[3]))); } break; } } |
