Try to not include ctype functions for win32. Not really tested with

Borland C++, as I don't have the machine with BC++ available right now,
but it should probably be better anyway...


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Ove Kaaven
1999-05-07 18:36:06 +00:00
parent aadbdf11bd
commit 57f6da0dec
2 changed files with 47 additions and 26 deletions

View File

@@ -39,6 +39,13 @@
#include "wx/hash.h"
#endif
#if defined(__WIN32__) && defined(wxNEED_WX_CTYPE_H)
#include <windef.h>
#include <winbase.h>
#include <winnls.h>
#include <winnt.h>
#endif
#if wxUSE_WCHAR_T
size_t WXDLLEXPORT wxMB2WC(wchar_t *buf, const char *psz, size_t n)
{
@@ -115,6 +122,29 @@ size_t WXDLLEXPORT wcslen(const wchar_t *s)
}
#endif
#if defined(__WIN32__) && defined(wxNEED_WX_CTYPE_H)
inline WORD wxMSW_ctype(wxChar ch)
{
WORD ret;
GetStringTypeEx(LOCALE_USER_DEFAULT, CT_CTYPE1, &ch, 1, &ret);
return ret;
}
int WXDLLEXPORT wxIsalnum(wxChar ch) { return IsCharAlphaNumeric(ch); }
int WXDLLEXPORT wxIsalpha(wxChar ch) { return IsCharAlpha(ch); }
int WXDLLEXPORT wxIsctrl(wxChar ch) { return wxMSW_ctype(ch) & C1_CNTRL; }
int WXDLLEXPORT wxIsdigit(wxChar ch) { return wxMSW_ctype(ch) & C1_DIGIT; }
int WXDLLEXPORT wxIsgraph(wxChar ch) { return wxMSW_ctype(ch) & (C1_DIGIT|C1_PUNCT|C1_ALPHA); }
int WXDLLEXPORT wxIslower(wxChar ch) { return IsCharLower(ch); }
int WXDLLEXPORT wxIsprint(wxChar ch) { return wxMSW_ctype(ch) & (C1_DIGIT|C1_SPACE|C1_PUNCT|C1_ALPHA); }
int WXDLLEXPORT wxIspunct(wxChar ch) { return wxMSW_ctype(ch) & C1_PUNCT; }
int WXDLLEXPORT wxIsspace(wxChar ch) { return wxMSW_ctype(ch) & C1_SPACE; }
int WXDLLEXPORT wxIsupper(wxChar ch) { return IsCharUpper(ch); }
int WXDLLEXPORT wxIsxdigit(wxChar ch) { return wxMSW_ctype(ch) & C1_XDIGIT; }
int WXDLLEXPORT wxTolower(wxChar ch) { return (wxChar)CharLower((LPTSTR)(ch); }
int WXDLLEXPORT wxToupper(wxChar ch) { return (wxChar)CharUpper((LPTSTR)(ch); }
#endif
#ifndef wxStrdup
wxChar * WXDLLEXPORT wxStrdup(const wxChar *psz)
{