Commit Diff


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 == '.');