for (user_hash::const_iterator a = clientlist.begin(); a != clientlist.end(); a++)
{
#ifdef IPV6
- /* TODO: clone matching for ipv6 */
+ /* I dont think theres any faster way of matching two ipv6 addresses than memcmp
+ * Let me know if you think of one.
+ */
+ if (!memcmp(a->second->ip4.s6_addr, user->ip4.s6_addr, sizeof(in6_addr)))
+ x++;
#else
if (a->second->ip4.s_addr == user->ip4.s_addr)
x++;
long x = 0;
for (std::vector<userrec*>::const_iterator a = local_users.begin(); a != local_users.end(); a++)
{
+ userrec* comp = *a;
#ifdef IPV6
- /* TODO clone matching for ipv6 */
+ /* I dont think theres any faster way of matching two ipv6 addresses than memcmp */
+ if (!memcmp(comp->ip4.s6_addr, user->ip4.s6_addr, sizeof(in6_addr)))
+ x++;
#else
- userrec* comp = *a;
if (comp->ip4.s_addr == user->ip4.s_addr)
x++;
#endif