]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxchar.h
simplified WXDLLEXPORT/IMPORT defines, added WXEXPORT/IMPORT
[wxWidgets.git] / include / wx / wxchar.h
index 54f09d2f039009ad0c6ebf076e16d24b7dad4ecd..c185288ce6be8a45894ca5153a82b6c98a1c2e53 100644 (file)
@@ -63,8 +63,7 @@
         #define wxHAVE_TCHAR_FUNCTIONS
     #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
         #define wxHAVE_TCHAR_FUNCTIONS
-    // w32api isn't yet tchar safe, will be soon, this is a placeholder
-    #elif defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 10, 0 )
+    #elif defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 1, 0 )
         #define wxHAVE_TCHAR_FUNCTIONS
         #include <stddef.h>
         #include <string.h>
     // time.h functions  -- none defined in tchar.h
     #define  wxAsctime   asctime
     #define  wxCtime     ctime
+#elif defined(__MWERKS__)
+    // for wcslen
+    #if wxUSE_WCHAR_T
+    #include <wchar.h>
+    #endif
 #endif // compilers with (good) TCHAR support
 
 #ifdef wxHAVE_TCHAR_FUNCTIONS
@@ -277,8 +281,8 @@ typedef  _TUCHAR     wxUChar;
 #      define wxUSE_WCHAR_T 0
 #    elif defined(__WATCOMC__)
 #      define wxUSE_WCHAR_T 0
-#    elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
-#      define wxUSE_WCHAR_T 1
+#    elif defined(__VISAGECPP__) && (__IBMCPP__ < 400)
+#      define wxUSE_WCHAR_T 0
 #    else
   // add additional compiler checks if this fails
 #      define wxUSE_WCHAR_T 1
@@ -289,10 +293,11 @@ typedef  _TUCHAR     wxUChar;
 #    ifdef HAVE_WCSTR_H
 #      include <wcstr.h>
 #    else
-#      if defined(__FreeBSD__) || defined(__DARWIN__)
-#        include <stdlib.h>
-#        define wxNEED_WCSLEN
-#      else
+       // VZ: do we really have to include this?
+#      include <stdlib.h>
+
+       // include wchar.h to get wcslen() declaration used by wx/buffer.h
+#      if defined(HAVE_WCHAR_H)
 #        include <wchar.h>
 #      endif
 #    endif
@@ -518,11 +523,6 @@ typedef unsigned __WCHAR_TYPE__ wxUChar;
 #  endif
 #endif //!Unicode
 
-#if defined(wxNEED_WCSLEN) && wxUSE_UNICODE
-#  define wcslen wxStrlen
-#  undef wxNEED_WCSLEN
-#endif
-
 // checks whether the passed in pointer is NULL and if the string is empty
 inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; }
 
@@ -581,10 +581,6 @@ class wxWCharBuffer;
 WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale);
 #endif
 
-#ifdef wxNEED_WCSLEN // for use in buffer.h
-WXDLLEXPORT size_t   wcslen(const wchar_t *s);
-#endif
-
 #ifdef wxNEED_WX_CTYPE_H
 WXDLLEXPORT int wxIsalnum(wxChar ch);
 WXDLLEXPORT int wxIsalpha(wxChar ch);