Browse Source

Hack around GitHub issue #165 (?)

Adam Ierymenko 10 years ago
parent
commit
da254d967f
1 changed files with 8 additions and 1 deletions
  1. 8 1
      node/NetworkConfig.cpp

+ 8 - 1
node/NetworkConfig.cpp

@@ -210,7 +210,14 @@ bool NetworkConfig::operator==(const NetworkConfig &nc) const
 	if (_description != nc._description) return false;
 	if (_staticIps != nc._staticIps) return false;
 	if (_activeBridges != nc._activeBridges) return false;
-	if (_multicastRates != nc._multicastRates) return false;
+	if (_multicastRates.size() == nc._multicastRates.size()) {
+		// uclibc++ doesn't seem to implement map<> != map<> correctly, so do
+		// it ourselves. Note that this depends on the maps being sorted.
+		for(std::map<MulticastGroup,MulticastRate>::const_iterator a(_multicastRates.begin()),b(nc._multicastRates.begin());a!=_multicastRates.end();++a,++b) {
+			if ((a->first != b->first)||(a->second != b->second))
+				return false;
+		}
+	} else return false;
 	if (_com != nc._com) return false;
 	return true;
 }