// The platform-specific locale type
// If wxXLocale_t is not defined, then only "C" locale support is provided
#ifdef wxHAS_XLOCALE_SUPPORT
- #if wxCHECK_VISUALC_VERSION(8)
+ #if wxCHECK_VISUALC_VERSION(8) && !defined(__WXWINCE__)
typedef _locale_t wxXLocale_t;
#define wxXLOCALE_IDENT(name) _ ## name
#elif defined(HAVE_LOCALE_T)
#define wxCRT_Toupper_lA wxXLOCALE_IDENT(toupper_l)
inline int wxIsalnum_l(char c, const wxXLocale& loc)
- { return wxCRT_Isalnum_lA(c, loc.Get()); }
+ { return wxCRT_Isalnum_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsalpha_l(char c, const wxXLocale& loc)
- { return wxCRT_Isalpha_lA(c, loc.Get()); }
+ { return wxCRT_Isalpha_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIscntrl_l(char c, const wxXLocale& loc)
- { return wxCRT_Iscntrl_lA(c, loc.Get()); }
+ { return wxCRT_Iscntrl_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsdigit_l(char c, const wxXLocale& loc)
- { return wxCRT_Isdigit_lA(c, loc.Get()); }
+ { return wxCRT_Isdigit_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsgraph_l(char c, const wxXLocale& loc)
- { return wxCRT_Isgraph_lA(c, loc.Get()); }
+ { return wxCRT_Isgraph_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIslower_l(char c, const wxXLocale& loc)
- { return wxCRT_Islower_lA(c, loc.Get()); }
+ { return wxCRT_Islower_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsprint_l(char c, const wxXLocale& loc)
- { return wxCRT_Isprint_lA(c, loc.Get()); }
+ { return wxCRT_Isprint_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIspunct_l(char c, const wxXLocale& loc)
- { return wxCRT_Ispunct_lA(c, loc.Get()); }
+ { return wxCRT_Ispunct_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsspace_l(char c, const wxXLocale& loc)
- { return wxCRT_Isspace_lA(c, loc.Get()); }
+ { return wxCRT_Isspace_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsupper_l(char c, const wxXLocale& loc)
- { return wxCRT_Isupper_lA(c, loc.Get()); }
+ { return wxCRT_Isupper_lA(static_cast<unsigned char>(c), loc.Get()); }
inline int wxIsxdigit_l(char c, const wxXLocale& loc)
- { return wxCRT_Isxdigit_lA(c, loc.Get()); }
- inline char wxTolower_l(char c, const wxXLocale& loc)
- { return wxCRT_Tolower_lA(c, loc.Get()); }
- inline char wxToupper_l(char c, const wxXLocale& loc)
- { return wxCRT_Toupper_lA(c, loc.Get()); }
+ { return wxCRT_Isxdigit_lA(static_cast<unsigned char>(c), loc.Get()); }
+ inline int wxTolower_l(char c, const wxXLocale& loc)
+ { return wxCRT_Tolower_lA(static_cast<unsigned char>(c), loc.Get()); }
+ inline int wxToupper_l(char c, const wxXLocale& loc)
+ { return wxCRT_Toupper_lA(static_cast<unsigned char>(c), loc.Get()); }
#if wxUSE_UNICODE
#define wxCRT_Isalnum_lW wxXLOCALE_IDENT(iswalnum_l)