diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-01-07 20:07:44 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-01-11 19:39:59 +0100 |
commit | d12315a4c883af968ec5ffb36a5aed3dc43b7ce7 (patch) | |
tree | 62a337174a9df0582d573bce38d800510ebb32fd /src/shared/dns-domain.c | |
parent | 509eddd202f2d0962379defe1c483d5c9bd482c8 (diff) |
shared: simplify dns_name_hash_func() end of name detection
Diffstat (limited to 'src/shared/dns-domain.c')
-rw-r--r-- | src/shared/dns-domain.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c index 729508e6a5..bcfc93608c 100644 --- a/src/shared/dns-domain.c +++ b/src/shared/dns-domain.c @@ -486,13 +486,15 @@ void dns_name_hash_func(const void *s, struct siphash *state) { assert(p); - while (*p) { + for (;;) { char label[DNS_LABEL_MAX+1]; int k; r = dns_label_unescape(&p, label, sizeof(label)); if (r < 0) break; + if (r == 0) + break; k = dns_label_undo_idna(label, r, label, sizeof(label)); if (k < 0) @@ -500,9 +502,6 @@ void dns_name_hash_func(const void *s, struct siphash *state) { if (k > 0) r = k; - if (r == 0) - break; - ascii_strlower_n(label, r); siphash24_compress(label, r, state); } |