diff --git a/ChangeLog b/ChangeLog index 81b99b341..f781a9043 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,10 @@ 2007-05-15 David Turner * include/freetype/config/ftstdlib.h, - include/freetype/internal/ftobjs.h: as suggested by Graham Asher, - ensure that ft_isalnum, ft_isdigit, etc... use hard-coded values + include/freetype/internal/ftobjs.h: As suggested by Graham Asher, + ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values instead on relying on the locale-dependent functions provided by - + . 2007-05-15 Graham Asher diff --git a/include/freetype/internal/ftobjs.h b/include/freetype/internal/ftobjs.h index 5f9f9e858..15b68d63f 100644 --- a/include/freetype/internal/ftobjs.h +++ b/include/freetype/internal/ftobjs.h @@ -89,24 +89,23 @@ FT_BEGIN_HEADER ft_highpow2( FT_UInt32 value ); - /* - * character classification functions. Since these are used to parse font - * files, we must not use those in which are locale-dependent !! - */ -#define ft_isdigit(x) (((unsigned)(x) - '0') < 10U) + /* + * character classification functions -- since these are used to parse + * font files, we must not use those in which are + * locale-dependent + */ +#define ft_isdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U ) -#define ft_isxdigit(x) ( ((unsigned)(x) - '0') < 10U || \ - ((unsigned)(x) - 'a') < 6U || \ - ((unsigned)(x) - 'A') < 6U ) +#define ft_isxdigit( x ) ( ( (unsigned)(x) - '0' ) < 10U || \ + ( (unsigned)(x) - 'a' ) < 6U || \ + ( (unsigned)(x) - 'A' ) < 6U ) -#define ft_isupper(x) ( ((unsigned)(x) - 'A') < 26U ) - -#define ft_islower(x) ( ((unsigned)(x) - 'a') < 26U ) - -#define ft_isalpha(x) ( ft_is_upper(x) || ft_is_lower(x) ) - -#define ft_isalnum(x) ( ft_isdigit(x) || ft_isalpha(x) ) + /* the next two macros assume ASCII representation */ +#define ft_isupper( x ) ( ( (unsigned)(x) - 'A' ) < 26U ) +#define ft_islower( x ) ( ( (unsigned)(x) - 'a' ) < 26U ) +#define ft_isalpha( x ) ( ft_isupper( x ) || ft_islower( x ) ) +#define ft_isalnum( x ) ( ft_isdigit( x ) || ft_isalpha( x ) ) /*************************************************************************/