]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxcrtbase.h
Added wxDECLARE_ANY_TYPE(CLS, DECL) and documented for what kind of situation it...
[wxWidgets.git] / include / wx / wxcrtbase.h
index 5468c61c3d75a3762e424c3cd2c5f2ac37663ada..d8a52480036145d95e3dbec760072f9e4ff6456e 100644 (file)
@@ -26,7 +26,7 @@
 
     NB: don't include any wxWidgets headers here because almost all of them
         include this one!
 
     NB: don't include any wxWidgets headers here because almost all of them
         include this one!
-        
+
     NB2: User code should include wx/crt.h instead of including this
          header directly.
 
     NB2: User code should include wx/crt.h instead of including this
          header directly.
 
@@ -72,7 +72,7 @@
 
 #ifdef _WIN32_WCE
     #if _WIN32_WCE <= 211
 
 #ifdef _WIN32_WCE
     #if _WIN32_WCE <= 211
-        #define isspace(c) ((c) == _T(' ') || (c) == _T('\t'))
+        #define isspace(c) ((c) == wxT(' ') || (c) == wxT('\t'))
     #endif
 #endif /* _WIN32_WCE */
 
     #endif
 #endif /* _WIN32_WCE */
 
@@ -183,7 +183,9 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
 #elif !(defined(__MWERKS__) && defined(__WXMAC__)) && !defined(__WXWINCE__)
     #define wxCRT_StrdupA strdup
 #endif
 #elif !(defined(__MWERKS__) && defined(__WXMAC__)) && !defined(__WXWINCE__)
     #define wxCRT_StrdupA strdup
 #endif
-#if defined(__WINDOWS__)
+
+// all compilers except Cygwin provide _wcsdup() under Windows
+#if defined(__WINDOWS__) && !defined(__CYGWIN__)
     #define wxCRT_StrdupW _wcsdup
 #elif defined(HAVE_WCSDUP)
     #define wxCRT_StrdupW wcsdup
     #define wxCRT_StrdupW _wcsdup
 #elif defined(HAVE_WCSDUP)
     #define wxCRT_StrdupW wcsdup
@@ -226,12 +228,24 @@ WXDLLIMPEXP_BASE void *calloc( size_t num, size_t size );
     #endif /* HAVE_WCSTOULL */
 #endif
 
     #endif /* HAVE_WCSTOULL */
 #endif
 
-/* Not all compilers have strnlen(); e.g. MSVC 6.x and 7.x don't have it */
-#if wxCHECK_VISUALC_VERSION(8) || defined(HAVE_STRNLEN)
+/*
+    Only VC8 and later provide strnlen() and wcsnlen() functions under Windows
+    and it's also only available starting from Windows CE 6.0 only in CE build.
+ */
+#if wxCHECK_VISUALC_VERSION(8) && (!defined(_WIN32_WCE) || (_WIN32_WCE >= 0x600))
+    #ifndef HAVE_STRNLEN
+        #define HAVE_STRNLEN
+    #endif
+    #ifndef HAVE_WCSNLEN
+        #define HAVE_WCSNLEN
+    #endif
+#endif
+
+#ifdef HAVE_STRNLEN
     #define wxCRT_StrnlenA  strnlen
 #endif
 
     #define wxCRT_StrnlenA  strnlen
 #endif
 
-#if wxCHECK_VISUALC_VERSION(8) || defined(HAVE_WCSNLEN)
+#ifdef HAVE_WCSNLEN
     #define wxCRT_StrnlenW  wcsnlen
 #endif
 
     #define wxCRT_StrnlenW  wcsnlen
 #endif