summaryrefslogtreecommitdiff
path: root/lib/libc/regex
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1996-03-25 14:34:26 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1996-03-25 14:34:26 +0000
commit42ce22e4499e0ac7f8bd577c27618d02991d4921 (patch)
tree24ec89163837668beaf7490184c0579c9ef30c3f /lib/libc/regex
parentfe5fcbc78f514d9509ff192598ac7b157505622c (diff)
Notes
Diffstat (limited to 'lib/libc/regex')
-rw-r--r--lib/libc/regex/regcomp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c
index 74c8d194fa1e..10412aada61d 100644
--- a/lib/libc/regex/regcomp.c
+++ b/lib/libc/regex/regcomp.c
@@ -820,7 +820,7 @@ register cset *cs;
register char *u;
register char c;
- while (MORE() && isalpha(PEEK()))
+ while (MORE() && isalpha((unsigned char)PEEK()))
NEXT();
len = p->next - sp;
for (cp = cclasses; cp->name != NULL; cp++)
@@ -913,6 +913,7 @@ static char /* if no counterpart, return ch */
othercase(ch)
int ch;
{
+ ch = (unsigned char)ch;
assert(isalpha(ch));
if (isupper(ch))
return(tolower(ch));
@@ -937,6 +938,7 @@ int ch;
register char *oldend = p->end;
char bracket[3];
+ ch = (unsigned char)ch;
assert(othercase(ch) != ch); /* p_bracket() would recurse */
p->next = bracket;
p->end = bracket+2;
@@ -960,7 +962,7 @@ register int ch;
{
register cat_t *cap = p->g->categories;
- if ((p->g->cflags&REG_ICASE) && isalpha(ch) && othercase(ch) != ch)
+ if ((p->g->cflags&REG_ICASE) && isalpha((unsigned char)ch) && othercase(ch) != ch)
bothcases(p, ch);
else {
EMIT(OCHAR, (unsigned char)ch);
@@ -1211,7 +1213,7 @@ register cset *cs;
for (i = 0; i < css; i++)
if (CHIN(cs, i))
- return((char)i);
+ return((unsigned char)i);
assert(never);
return(0); /* arbitrary */
}