William,

Am 26.01.20 um 18:41 schrieb William Dauchy:
>  int dns_hostname_validation(const char *string, char **err)
>  {
> -     const char *c, *d;
>       int i;

Consider moving this into the `while` loop to reduce the scope of `i`.

> +             while (*string && *string != '.' && i < DNS_MAX_LABEL_SIZE) {

Here you check `*string`

> [...]
> -             if ((i >= DNS_MAX_LABEL_SIZE) && (d[i] != '.')) {
> +             if (*string == '\0')

Here you check `*string == '\0'`.

For consistency consider to to either:

*string and !*string
or
*string != '\0' and *string == '\0'
or
*string != 0 and *string == 0

-

Overall I think your version is much more readable than the old one.
It's also easier to understand and assert its correctness.

Best regards
Tim Düsterhus

Reply via email to