summaryrefslogtreecommitdiff
path: root/node
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-04 14:11:54 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2015-05-04 14:11:54 -0700
commitda254d967f730f94149cddca32e281b1752f6852 (patch)
tree3d625d85f049e25f82a17eed61cf19a85dfb6ee3 /node
parent9279bac385d842d7f031306bc9a68bbb737bd3ce (diff)
downloadinfinitytier-da254d967f730f94149cddca32e281b1752f6852.tar.gz
infinitytier-da254d967f730f94149cddca32e281b1752f6852.zip
Hack around GitHub issue #165 (?)
Diffstat (limited to 'node')
-rw-r--r--node/NetworkConfig.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp
index 491c9493..82e986e2 100644
--- a/node/NetworkConfig.cpp
+++ b/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;
}