A generic line-reading callback for communicate()
[folly.git] / folly / IPAddress.cpp
index 9e902a1d0784047bde7e7ee685b34033b1d24f3f..b49b0dc86f370eb08c0845d3366b602202181b10 100644 (file)
@@ -21,7 +21,7 @@
 #include <string>
 #include <vector>
 
-#include "folly/String.h"
+#include <folly/String.h>
 
 using std::ostream;
 using std::string;
@@ -330,13 +330,13 @@ bool operator==(const IPAddress& addr1, const IPAddress& addr2) {
     }
   }
   // addr1 is v4 mapped v6 address, addr2 is v4
-  if (addr1.isIPv4Mapped()) {
+  if (addr1.isIPv4Mapped() && addr2.isV4()) {
     if (IPAddress::createIPv4(addr1) == addr2.asV4()) {
       return true;
     }
   }
   // addr2 is v4 mapped v6 address, addr1 is v4
-  if (addr2.isIPv4Mapped()) {
+  if (addr2.isIPv4Mapped() && addr1.isV4()) {
     if (IPAddress::createIPv4(addr2) == addr1.asV4()) {
       return true;
     }