commit 06035a023710962df95f48d8486739154a9d707a from: Omar Polo date: Tue Nov 29 23:03:55 2022 UTC more is*() unsigned char cast continuation of 6130e0eeac9db4fa8e6fe5934ec2d0ab202f979e commit - 97b306cbee6d105885a761e04274f661a0ec3757 commit + 06035a023710962df95f48d8486739154a9d707a blob - d62eef5caa531ee4e2131d28f9345c765c910e32 blob + 1436314147c63aba701f6220965b2d5d8e1da04c --- iri.c +++ iri.c @@ -22,7 +22,7 @@ static inline int unreserved(int p) { - return isalnum(p) + return isalnum((unsigned char)p) || p == '-' || p == '.' || p == '_' @@ -109,7 +109,7 @@ parse_scheme(struct parser *p) { p->parsed->schema = p->iri; - if (!isalpha(*p->iri)) { + if (!isalpha((unsigned char)*p->iri)) { p->err = "illegal character in scheme"; return 0; } @@ -126,7 +126,7 @@ parse_scheme(struct parser *p) */ *p->iri = tolower(*p->iri); p->iri++; - } while (isalnum(*p->iri) + } while (isalnum((unsigned char)*p->iri) || *p->iri == '+' || *p->iri == '-' || *p->iri == '.');