Split a complex condition into separate ones

Make it more readable
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
This commit is contained in:
Andrzej Kurek 2023-04-18 07:32:47 -04:00
parent af04f6307f
commit 90117db5dc

View file

@ -2637,12 +2637,15 @@ static int x509_inet_pton_ipv6(const char *src, void *dst)
}
++p;
} while (nonzero_groups < 8);
if ((zero_group_start != -1 ? nonzero_groups > 6 : nonzero_groups != 8) ||
*p != '\0') {
if (*p != '\0') {
return -1;
}
if (zero_group_start != -1) {
if (nonzero_groups > 6) {
return -1;
}
int zero_groups = 8 - nonzero_groups;
int groups_after_zero = nonzero_groups - zero_group_start;
@ -2653,6 +2656,10 @@ static int x509_inet_pton_ipv6(const char *src, void *dst)
groups_after_zero * sizeof(*addr));
}
memset(addr + zero_group_start, 0, zero_groups * sizeof(*addr));
} else {
if (nonzero_groups != 8) {
return -1;
}
}
memcpy(dst, addr, sizeof(addr));
return 0;