// 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)
#endif // wxUSE_UNICDE (ctype functions)
#else // !wxHAS_XLOCALE_SUPPORT
-
// ctype functions
int WXDLLIMPEXP_BASE wxIsalnum_l(const wxUniChar& c, const wxXLocale& loc);
int WXDLLIMPEXP_BASE wxIsalpha_l(const wxUniChar& c, const wxXLocale& loc);
int WXDLLIMPEXP_BASE wxIsspace_l(const wxUniChar& c, const wxXLocale& loc);
int WXDLLIMPEXP_BASE wxIsupper_l(const wxUniChar& c, const wxXLocale& loc);
int WXDLLIMPEXP_BASE wxIsxdigit_l(const wxUniChar& c, const wxXLocale& loc);
- wxUniChar WXDLLIMPEXP_BASE wxTolower_l(const wxUniChar& c, const wxXLocale& loc);
- wxUniChar WXDLLIMPEXP_BASE wxToupper_l(const wxUniChar& c, const wxXLocale& loc);
-
-
+ int WXDLLIMPEXP_BASE wxTolower_l(const wxUniChar& c, const wxXLocale& loc);
+ int WXDLLIMPEXP_BASE wxToupper_l(const wxUniChar& c, const wxXLocale& loc);
#endif // wxHAS_XLOCALE_SUPPORT/!wxHAS_XLOCALE_SUPPORT
#endif // wxUSE_XLOCALE