]> git.saurik.com Git - wxWidgets.git/commitdiff
Try to not include ctype functions for win32. Not really tested with
authorOve Kaaven <ovek@arcticnet.no>
Fri, 7 May 1999 18:36:06 +0000 (18:36 +0000)
committerOve Kaaven <ovek@arcticnet.no>
Fri, 7 May 1999 18:36:06 +0000 (18:36 +0000)
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

include/wx/wxchar.h
src/common/wxchar.cpp

index 46c0f1cddce926f3eddffd2011da5bef28a8e2ac..c7a3dbdc6f2de65b564a5f5976196482854b70c1 100644 (file)
@@ -168,32 +168,7 @@ typedef  _TUCHAR     wxUChar;
 #undef wxUSE_WCHAR_T
 #define wxUSE_WCHAR_T 1
 
-#include <windef.h>
-#include <winbase.h>
-#include <winnls.h>
-#include <winnt.h>
-
-   // ctype.h functions
-inline WORD __wxMSW_ctype(wxChar ch)
-{
-  WORD ret;
-  GetStringTypeEx(LOCALE_USER_DEFAULT, CT_CTYPE1, &ch, 1, &ret);
-  return ret;
-}
-#define  wxIsalnum(x)  IsCharAlphaNumeric
-#define  wxIsalpha     IsCharAlpha
-#define  wxIsctrl(x)   (__wxMSW_ctype(x) & C1_CNTRL)
-#define  wxIsdigit(x)  (__wxMSW_ctype(x) & C1_DIGIT)
-#define  wxIsgraph(x)  (__wxMSW_ctype(x) & (C1_DIGIT|C1_PUNCT|C1_ALPHA))
-#define  wxIslower(x)  IsCharLower
-#define  wxIsprint(x)  (__wxMSW_ctype(x) & (C1_DIGIT|C1_SPACE|C1_PUNCT|C1_ALPHA))
-#define  wxIspunct(x)  (__wxMSW_ctype(x) & C1_PUNCT)
-#define  wxIsspace(x)  (__wxMSW_ctype(x) & C1_SPACE)
-#define  wxIsupper(x)  IsCharUpper
-#define  wxIsxdigit(x) (__wxMSW_ctype(x) & C1_XDIGIT)
-#define  wxTolower(x)  (wxChar)CharLower((LPTSTR)(x))
-#define  wxToupper(x)  (wxChar)CharUpper((LPTSTR)(x))
-
+#define wxNEED_WX_CTYPE_H
 // #define  wxStrtok    strtok_r // Borland C++ 4.52 doesn't have strtok_r
 #define wxNEED_WX_STRING_H
 #define wxNEED_WX_STDIO_H
@@ -490,6 +465,22 @@ wxChar * WXDLLEXPORT wxSetlocale(int category, const wxChar *locale);
 size_t   WXDLLEXPORT wcslen(const wchar_t *s);
 #endif
 
+#ifdef wxNEED_WX_CTYPE_H
+int WXDLLEXPORT wxIsalnum(wxChar ch);
+int WXDLLEXPORT wxIsalpha(wxChar ch);
+int WXDLLEXPORT wxIsctrl(wxChar ch);
+int WXDLLEXPORT wxIsdigit(wxChar ch);
+int WXDLLEXPORT wxIsgraph(wxChar ch);
+int WXDLLEXPORT wxIslower(wxChar ch);
+int WXDLLEXPORT wxIsprint(wxChar ch);
+int WXDLLEXPORT wxIspunct(wxChar ch);
+int WXDLLEXPORT wxIsspace(wxChar ch);
+int WXDLLEXPORT wxIsupper(wxChar ch);
+int WXDLLEXPORT wxIsxdigit(wxChar ch);
+int WXDLLEXPORT wxTolower(wxChar ch);
+int WXDLLEXPORT wxToupper(wxChar ch);
+#endif
+
 #ifdef wxNEED_WX_STRING_H
 wxChar * WXDLLEXPORT wxStrcat(wxChar *dest, const wxChar *src);
 wxChar * WXDLLEXPORT wxStrchr(const wxChar *s, wxChar c);
index f95e5d6c8fb6157f353844563790e6027c5d0b2f..d1a9ecb7604449e242d485ded46c3098addabfef 100644 (file)
   #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)
 {