X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/8563731b02ce9d750806f6b1769af8b399d964e8..ef25ef28586541f0804dc6aa53a8519cf762ba6d:/uip/picksbr.c diff --git a/uip/picksbr.c b/uip/picksbr.c index b13ea669..ebebf6c3 100644 --- a/uip/picksbr.c +++ b/uip/picksbr.c @@ -6,7 +6,7 @@ */ #include -#include +#include #include #ifdef TIME_WITH_SYS_TIME @@ -690,7 +690,7 @@ plist if (*p2 == CCHR) { c = p2[1]; do { - if (*p1 == c || cc[*p1] == c) + if (*p1 == c || cc[(unsigned char)*p1] == c) if (advance (p1, p2)) return 1; } while (*p1++); @@ -715,7 +715,7 @@ advance (char *alp, char *aep) for (;;) switch (*ep++) { case CCHR: - if (*ep++ == *lp++ || ep[-1] == cc[lp[-1]]) + if (*ep++ == *lp++ || ep[-1] == cc[(unsigned char)lp[-1]]) continue; return 0; @@ -754,7 +754,7 @@ advance (char *alp, char *aep) case CCHR | STAR: curlp = lp; - while (*lp++ == *ep || cc[lp[-1]] == *ep) + while (*lp++ == *ep || cc[(unsigned char)lp[-1]] == *ep) continue; ep++; goto star;