]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
ComboAddress: add '!=' operator
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 24 Feb 2016 13:18:44 +0000 (14:18 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 24 Feb 2016 13:18:44 +0000 (14:18 +0100)
And tests.

pdns/iputils.hh
pdns/test-iputils_hh.cc

index abdc4e96f0afc1a6325bb6a3e5b33a88bb4b8828..3e975cabc41d605bbad7dd42e8c221fd39ffb315 100644 (file)
@@ -93,6 +93,11 @@ union ComboAddress {
       return memcmp(&sin6.sin6_addr.s6_addr, &rhs.sin6.sin6_addr.s6_addr, 16)==0;
   }
 
+  bool operator!=(const ComboAddress& rhs) const
+  {
+    return(!operator==(rhs));
+  }
+
   bool operator<(const ComboAddress& rhs) const
   {
     if(boost::tie(sin4.sin_family, sin4.sin_port) < boost::tie(rhs.sin4.sin_family, rhs.sin4.sin_port))
index 37e09bd8bf278db3c68eaf7b17e05179a6d847f8..a8243f06630e94d08530078a64e32aadcc634a39 100644 (file)
@@ -39,6 +39,17 @@ BOOST_AUTO_TEST_CASE(test_ComboAddress) {
   ComboAddress a = ComboAddress();
   ComboAddress b = ComboAddress();
   BOOST_CHECK(a == b);
+
+  // Verify that 2 ComboAddresses are not the same
+  ComboAddress c = ComboAddress("127.0.0.1:53");
+  ComboAddress d = ComboAddress("127.0.0.1:52");
+  ComboAddress e = ComboAddress("127.0.0.2:53");
+
+  BOOST_CHECK(a != c);
+  BOOST_CHECK(c != d);
+  BOOST_CHECK(c != e);
+  BOOST_CHECK(d != e);
+  BOOST_CHECK(!(a != b));
 }
 
 BOOST_AUTO_TEST_CASE(test_ComboAddressTruncate) {