]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/mslu.cpp
Add comments explaining the workaround for mingw 3.2.3
[wxWidgets.git] / src / msw / mslu.cpp
index 3e63d04fb25b795fa8739dd9bca36ab74d77d245..f6f373a965cae8e2b10c0c1b17b281e95a136eea 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/defs.h"
+    #include "wx/utils.h"
 #endif
 
+//------------------------------------------------------------------------
+// Check for use of MSLU
 //------------------------------------------------------------------------
 
-#if !wxUSE_UNICODE_MSLU
+#if wxUSE_BASE
 
-bool wxUsingUnicowsDll()
-{ 
-    return false; 
+bool WXDLLIMPEXP_BASE wxUsingUnicowsDll()
+{
+#if wxUSE_UNICODE_MSLU
+    return (wxGetOsVersion() == wxWIN95);
+#else
+    return false;
+#endif
 }
 
-#else
+#endif // wxUSE_BASE
+
+
+#if wxUSE_UNICODE_MSLU
 
 //------------------------------------------------------------------------
 //
@@ -65,13 +75,6 @@ bool wxUsingUnicowsDll()
 #undef GetOpenFileNameW
 #undef GetSaveFileNameW
 
-// Returns true if we are running under Unicode emulation in Win9x environment.
-// Workaround hacks take effect only if this condition is met
-bool wxUsingUnicowsDll()
-{
-    return (wxGetOsVersion() == wxWIN95);
-}
-
 //------------------------------------------------------------------------
 // Wrongly implemented functions from unicows.dll
 //------------------------------------------------------------------------
@@ -166,6 +169,14 @@ WXDLLIMPEXP_BASE int wxMSLU__tremove(const wxChar *name)
         return _tremove(name);
 }
 
+WXDLLIMPEXP_BASE FILE* wxMSLU__tfopen(const wxChar *name,const wxChar* mode)
+{
+    if ( wxUsingUnicowsDll() )
+        return fopen(wxConvFile.cWX2MB(name),wxConvFile.cWX2MB(mode));
+    else
+        return _tfopen(name,mode);
+}
+
 #if defined( __VISUALC__ ) \
     || ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
     || ( defined(__MWERKS__) && defined(__WXMSW__) ) \