Browse Source

[2124] Rewrite code to avoid duplication

Mukund Sivaraman 13 years ago
parent
commit
9b88b6be96
1 changed files with 13 additions and 9 deletions
  1. 13 9
      src/lib/dns/rdata/generic/sshfp_44.cc

+ 13 - 9
src/lib/dns/rdata/generic/sshfp_44.cc

@@ -153,17 +153,21 @@ SSHFP::compare(const Rdata& other) const {
     const size_t this_len = fingerprint_.size();
     const size_t other_len = other_sshfp.fingerprint_.size();
     const size_t cmplen = min(this_len, other_len);
-    if (cmplen == 0) {
-        return ((this_len == other_len)
-                ? 0 : (this_len < other_len) ? -1 : 1);
+
+    if (cmplen > 0) {
+        const int cmp = memcmp(&fingerprint_[0], &other_sshfp.fingerprint_[0],
+                               cmplen);
+        if (cmp != 0) {
+            return (cmp);
+        }
     }
-    const int cmp = memcmp(&fingerprint_[0], &other_sshfp.fingerprint_[0],
-                           cmplen);
-    if (cmp != 0) {
-        return (cmp);
+
+    if (this_len == other_len) {
+        return (0);
+    } else if (this_len < other_len) {
+        return (-1);
     } else {
-        return ((this_len == other_len)
-                ? 0 : (this_len < other_len) ? -1 : 1);
+        return (1);
     }
 }