Fix bridge link comparator
authorRichard Whitehouse <github@richardwhiuk.com>
Sat, 16 Apr 2011 20:04:59 +0000 (21:04 +0100)
committerRichard Whitehouse <github@richardwhiuk.com>
Sat, 16 Apr 2011 20:04:59 +0000 (21:04 +0100)
src/topology/model/topology.cc

index 68bfab93289dc9bf890e701e43e8589d0a6cc63b..7ffd858da7900d4cc3c82a8c3aac0102d4a33799 100644 (file)
@@ -98,20 +98,44 @@ Topology::~Topology(){
 }
 
 bool Topology::BridgeLinkCompare::operator()( BridgeLink const &lhs, BridgeLink const &rhs) {
-       if(lhs.first < lhs.first){
+       if(lhs.first < lhs.second){
                if(rhs.first < rhs.second){
-                       return (lhs.first < rhs.first) ? true : (lhs.second < rhs.second);
+                       if(lhs.first < rhs.first){
+                               return true;
+                       } else if(rhs.first < lhs.first){
+                               return false;
+                       } else {
+                               return lhs.second < rhs.second;
+                       }
                } else {
-                       return (lhs.first < rhs.second) ? true : (lhs.second < rhs.first);
+                       if(lhs.first < rhs.second){
+                               return true;
+                       } else if(rhs.second < lhs.first){
+                               return false;
+                       } else {
+                               return lhs.second < rhs.first;
+                       }
                }
        } else {
                if(rhs.first < rhs.second){
-                       return (lhs.second < rhs.first) ? true : (lhs.first < rhs.second);
+                       if(lhs.second < rhs.first){
+                               return true;
+                       } else if(rhs.first < lhs.second){
+                               return false;
+                       } else {
+                               return lhs.first < rhs.second;
+                       }
                } else {
-                       return (lhs.second < rhs.second) ? true : (lhs.first < rhs.first);
+                       if(lhs.second < rhs.second){
+                               return true;
+                       } else if(rhs.second < lhs.second){
+                               return false;
+                       } else {
+                               return lhs.first < rhs.first;
+                       }
                }
        }
 }
 
-
 }
+