shared: simplify dns_name_hash_func() end of name detection

This commit is contained in:
Lennart Poettering 2016-01-07 20:07:44 +01:00
parent 509eddd202
commit d12315a4c8

View file

@ -486,13 +486,15 @@ void dns_name_hash_func(const void *s, struct siphash *state) {
assert(p); assert(p);
while (*p) { for (;;) {
char label[DNS_LABEL_MAX+1]; char label[DNS_LABEL_MAX+1];
int k; int k;
r = dns_label_unescape(&p, label, sizeof(label)); r = dns_label_unescape(&p, label, sizeof(label));
if (r < 0) if (r < 0)
break; break;
if (r == 0)
break;
k = dns_label_undo_idna(label, r, label, sizeof(label)); k = dns_label_undo_idna(label, r, label, sizeof(label));
if (k < 0) if (k < 0)
@ -500,9 +502,6 @@ void dns_name_hash_func(const void *s, struct siphash *state) {
if (k > 0) if (k > 0)
r = k; r = k;
if (r == 0)
break;
ascii_strlower_n(label, r); ascii_strlower_n(label, r);
siphash24_compress(label, r, state); siphash24_compress(label, r, state);
} }