]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/wxcrt.h
Relax validation of wxCheckBox flags.
[wxWidgets.git] / include / wx / wxcrt.h
index 34e8fbc968b17e52218bdd8d50501ade7f6a0009..f9e68ef71e26d56f6573d429a1ab623bf825ea05 100644 (file)
@@ -39,26 +39,16 @@ inline bool wxIsEmpty(const wxCStrData& s) { return s.AsString().empty(); }
 
 /* multibyte to wide char conversion functions and macros */
 
-#if wxUSE_WCHAR_T
-    /* multibyte<->widechar conversion */
-    WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n);
-    WXDLLIMPEXP_BASE size_t wxWC2MB(char *buf, const wchar_t *psz, size_t n);
-
-    #if wxUSE_UNICODE
-        #define wxMB2WX wxMB2WC
-        #define wxWX2MB wxWC2MB
-        #define wxWC2WX wxStrncpy
-        #define wxWX2WC wxStrncpy
-    #else
-        #define wxMB2WX wxStrncpy
-        #define wxWX2MB wxStrncpy
-        #define wxWC2WX wxWC2MB
-        #define wxWX2WC wxMB2WC
-    #endif
-#else /* !wxUSE_UNICODE */
-    /* No wxUSE_WCHAR_T: we have to do something (JACS) */
-    #define wxMB2WC wxStrncpy
-    #define wxWC2MB wxStrncpy
+/* multibyte<->widechar conversion */
+WXDLLIMPEXP_BASE size_t wxMB2WC(wchar_t *buf, const char *psz, size_t n);
+WXDLLIMPEXP_BASE size_t wxWC2MB(char *buf, const wchar_t *psz, size_t n);
+
+#if wxUSE_UNICODE
+    #define wxMB2WX wxMB2WC
+    #define wxWX2MB wxWC2MB
+    #define wxWC2WX wxStrncpy
+    #define wxWX2WC wxStrncpy
+#else
     #define wxMB2WX wxStrncpy
     #define wxWX2MB wxStrncpy
     #define wxWC2WX wxWC2MB
@@ -478,10 +468,14 @@ WX_STRCMP_FUNC(wxStricmp, wxCRT_StricmpA, wxCRT_StricmpW, wxStricmp_String)
 // this fails to compile with VC6, so don't do it for VC. It also causes
 // problems with GCC visibility in newer GCC versions.
 #if !(defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,5))
+    #define wxNEEDS_DECL_BEFORE_TEMPLATE
+#endif
+
+#ifdef wxNEEDS_DECL_BEFORE_TEMPLATE
 template<typename T>
 inline int wxStrcoll_String(const wxString& s1, const T& s2);
 WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
-#endif // !__VISUALC__
+#endif // wxNEEDS_DECL_BEFORE_TEMPLATE
 
 template<typename T>
 inline int wxStrcoll_String(const wxString& s1, const T& s2)
@@ -497,8 +491,9 @@ inline int wxStrcoll_String(const wxString& s1, const T& s2)
 #endif
 }
 
-#if defined(__VISUALC__) || wxCHECK_GCC_VERSION(3,5)
-// this is exactly the same WX_STRCMP_FUNC line as above wxStrcoll_String<>
+#ifndef wxNEEDS_DECL_BEFORE_TEMPLATE
+// this is exactly the same WX_STRCMP_FUNC line as above, insde the
+// wxNEEDS_DECL_BEFORE_TEMPLATE case
 WX_STRCMP_FUNC(wxStrcoll, wxCRT_StrcollA, wxCRT_StrcollW, wxStrcoll_String)
 #endif