--- apr/apr/trunk/strmatch/apr_strmatch.c 2009/03/24 11:12:27 757729 +++ apr/apr/trunk/strmatch/apr_strmatch.c 2009/06/02 15:34:46 781063 @@ -74,7 +74,7 @@ } s_tmp--; } - s_next += shift[apr_tolower(*s_next)]; + s_next += shift[(unsigned char)apr_tolower(*s_next)]; } return NULL; } @@ -103,13 +103,13 @@ if (case_sensitive) { pattern->compare = match_boyer_moore_horspool; for (i = 0; i < pattern->length - 1; i++) { - shift[(int)s[i]] = pattern->length - i - 1; + shift[(unsigned char)s[i]] = pattern->length - i - 1; } } else { pattern->compare = match_boyer_moore_horspool_nocase; for (i = 0; i < pattern->length - 1; i++) { - shift[apr_tolower(s[i])] = pattern->length - i - 1; + shift[(unsigned char)apr_tolower(s[i])] = pattern->length - i - 1; } } pattern->context = shift;