mirror of
https://github.com/systemd/systemd
synced 2024-10-14 12:04:49 +00:00
shared: simplify dns_name_hash_func() end of name detection
This commit is contained in:
parent
509eddd202
commit
d12315a4c8
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue