IPV6 address comparison uses memcmp

pull/14/head
Tom Early 6 years ago
parent 2111fc4d27
commit 814534bccf

@ -92,11 +92,7 @@ public:
} else if (AF_INET6 == addr.ss_family) { } else if (AF_INET6 == addr.ss_family) {
auto l = (struct sockaddr_in6 *)&addr; auto l = (struct sockaddr_in6 *)&addr;
auto r = (struct sockaddr_in6 *)&rhs.addr; auto r = (struct sockaddr_in6 *)&rhs.addr;
for (int i=0; i<16; i++) { return (0 == memcmp(&(l->sin6_addr), &(r->sin6_addr), sizeof(struct in6_addr)));
if (l->sin6_addr.s6_addr[i] != r->sin6_addr.s6_addr[i])
return false;
}
return true;
} }
return false; return false;
} }
@ -112,11 +108,7 @@ public:
} else if (AF_INET6 == addr.ss_family) { } else if (AF_INET6 == addr.ss_family) {
auto l = (struct sockaddr_in6 *)&addr; auto l = (struct sockaddr_in6 *)&addr;
auto r = (struct sockaddr_in6 *)&rhs.addr; auto r = (struct sockaddr_in6 *)&rhs.addr;
for (int i=0; i<16; i++) { return (0 != memcmp(&(l->sin6_addr), &(r->sin6_addr), sizeof(struct in6_addr)));
if (l->sin6_addr.s6_addr[i] != r->sin6_addr.s6_addr[i])
return true;
}
return false;
} }
return true; return true;
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.