chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
journald: allow restarting journald without losing stream connections
[elogind.git]
/
src
/
resolve
/
resolved-dns-rr.c
diff --git
a/src/resolve/resolved-dns-rr.c
b/src/resolve/resolved-dns-rr.c
index c5f7cb931e2ae5aea1f9ba8306acc239692bccff..78d9e4a412471458ab1004be2e96724c76614b9c 100644
(file)
--- a/
src/resolve/resolved-dns-rr.c
+++ b/
src/resolve/resolved-dns-rr.c
@@
-133,7
+133,7
@@
int dns_resource_key_match_cname(const DnsResourceKey *key, const DnsResourceRec
return dns_name_equal(DNS_RESOURCE_KEY_NAME(rr->key), DNS_RESOURCE_KEY_NAME(key));
}
return dns_name_equal(DNS_RESOURCE_KEY_NAME(rr->key), DNS_RESOURCE_KEY_NAME(key));
}
-unsigned long dns_resource_key_hash_func(const void *i, const uint8_t hash_key[HASH_KEY_SIZE]) {
+
static
unsigned long dns_resource_key_hash_func(const void *i, const uint8_t hash_key[HASH_KEY_SIZE]) {
const DnsResourceKey *k = i;
unsigned long ul;
const DnsResourceKey *k = i;
unsigned long ul;
@@
-144,7
+144,7
@@
unsigned long dns_resource_key_hash_func(const void *i, const uint8_t hash_key[H
return ul;
}
return ul;
}
-int dns_resource_key_compare_func(const void *a, const void *b) {
+
static
int dns_resource_key_compare_func(const void *a, const void *b) {
const DnsResourceKey *x = a, *y = b;
int ret;
const DnsResourceKey *x = a, *y = b;
int ret;
@@
-165,6
+165,11
@@
int dns_resource_key_compare_func(const void *a, const void *b) {
return 0;
}
return 0;
}
+const struct hash_ops dns_resource_key_hash_ops = {
+ .hash = dns_resource_key_hash_func,
+ .compare = dns_resource_key_compare_func
+};
+
int dns_resource_key_to_string(const DnsResourceKey *key, char **ret) {
char cbuf[DECIMAL_STR_MAX(uint16_t)], tbuf[DECIMAL_STR_MAX(uint16_t)];
const char *c, *t;
int dns_resource_key_to_string(const DnsResourceKey *key, char **ret) {
char cbuf[DECIMAL_STR_MAX(uint16_t)], tbuf[DECIMAL_STR_MAX(uint16_t)];
const char *c, *t;
@@
-365,14
+370,8
@@
int dns_resource_record_equal(const DnsResourceRecord *a, const DnsResourceRecor
strcaseeq(a->hinfo.os, b->hinfo.os);
case DNS_TYPE_SPF: /* exactly the same as TXT */
strcaseeq(a->hinfo.os, b->hinfo.os);
case DNS_TYPE_SPF: /* exactly the same as TXT */
- case DNS_TYPE_TXT: {
- int i;
-
- for (i = 0; a->txt.strings[i] || b->txt.strings[i]; i++)
- if (!streq_ptr(a->txt.strings[i], b->txt.strings[i]))
- return false;
- return true;
- }
+ case DNS_TYPE_TXT:
+ return strv_equal(a->txt.strings, b->txt.strings);
case DNS_TYPE_A:
return memcmp(&a->a.in_addr, &b->a.in_addr, sizeof(struct in_addr)) == 0;
case DNS_TYPE_A:
return memcmp(&a->a.in_addr, &b->a.in_addr, sizeof(struct in_addr)) == 0;