diff --git a/src/ChangeLog b/src/ChangeLog index 6d95e45d..52478819 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2003-09-22 Hrvoje Niksic + + * safe-ctype.h (_sch_test): The cast of BIT to unsigned char was + broken -- _sch_istable bitmasks are 16-bit, not 8-bit! Cast BIT + to unsigned short instead. + 2003-09-22 Hrvoje Niksic * url.c (path_simplify): Instead of calls to memmove, handle "./" diff --git a/src/safe-ctype.h b/src/safe-ctype.h index af88a26b..0c5c5863 100644 --- a/src/safe-ctype.h +++ b/src/safe-ctype.h @@ -100,7 +100,7 @@ enum { /* Character classification. */ extern const unsigned short _sch_istable[256]; -#define _sch_test(c, bit) (_sch_istable[(c) & 0xff] & (unsigned char)(bit)) +#define _sch_test(c, bit) (_sch_istable[(c) & 0xff] & (unsigned short)(bit)) #define ISALPHA(c) _sch_test(c, _sch_isalpha) #define ISALNUM(c) _sch_test(c, _sch_isalnum)