IPAddress fixes and algorithm comparison functors

This commit is contained in:
Vinnie Falco
2013-11-30 06:36:41 -08:00
parent 2f656e09c6
commit 1dfd9e3c10
2 changed files with 36 additions and 2 deletions

View File

@@ -581,7 +581,12 @@ bool operator== (IPAddress const& lhs, IPAddress const& rhs)
switch (lhs.type())
{
case IPAddress::none: return true;
case IPAddress::ipv4: return lhs.v4() == rhs.v4();
case IPAddress::ipv4:
if (lhs.v4() != rhs.v4())
return false;
if (lhs.port() != rhs.port())
return false;
return true;
case IPAddress::ipv6:
default:
bassertfalse;
@@ -598,7 +603,12 @@ bool operator< (IPAddress const& lhs, IPAddress const& rhs)
switch (lhs.type())
{
case IPAddress::none: return true;
case IPAddress::ipv4: return lhs.v4() < rhs.v4();
case IPAddress::ipv4:
if (lhs.v4() < rhs.v4())
return true;
if (lhs.v4() > rhs.v4())
return false;
return lhs.port() < rhs.port();
case IPAddress::ipv6:
default:
bassertfalse;