chiark / gitweb /
resolved: fix typo in sd_notify() call
[elogind.git] / src / resolve / resolved-dns-domain.c
index 80a2b3cd323668439eaf3b45e81ed1b8d31959b3..e1eb3ddfe5a6a7478246f453694bd9f5d663a232 100644 (file)
@@ -324,7 +324,7 @@ unsigned long dns_name_hash_func(const void *s, const uint8_t hash_key[HASH_KEY_
 
                 k = dns_label_undo_idna(label, r, label, sizeof(label));
                 if (k < 0)
-                        return k;
+                        break;
                 if (k > 0)
                         r = k;
 
@@ -371,6 +371,11 @@ int dns_name_compare_func(const void *a, const void *b) {
         }
 }
 
+const struct hash_ops dns_name_hash_ops = {
+        .hash = dns_name_hash_func,
+        .compare = dns_name_compare_func
+};
+
 int dns_name_equal(const char *x, const char *y) {
         int r, q, k, w;
 
@@ -434,9 +439,9 @@ int dns_name_endswith(const char *name, const char *suffix) {
                         saved_n = n;
 
                 q = dns_label_unescape(&s, ls, sizeof(ls));
-                if (r < 0)
-                        return r;
-                w = dns_label_undo_idna(ls, r, ls, sizeof(ls));
+                if (q < 0)
+                        return q;
+                w = dns_label_undo_idna(ls, q, ls, sizeof(ls));
                 if (w < 0)
                         return w;
                 if (w > 0)