]> git.saurik.com Git - wxWidgets.git/commitdiff
more order in wxCRT_filefunctions: define A and W versions, just as for everything...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 25 Apr 2009 15:53:45 +0000 (15:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 25 Apr 2009 15:53:45 +0000 (15:53 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/filefn.h
src/common/filefn.cpp
src/msw/mslu.cpp

index 892db0ec6f1055b484d4b8a8a050f1ec1d2b9202..0c0b020894340d2356cd02c9eaa57c64cd8a224b 100644 (file)
@@ -303,86 +303,81 @@ enum wxFileKind
     #define   wxEof        wxPOSIX_IDENT(eof)
 
     // then the functions taking strings
+
+    // first the ANSI versions
+    #define   wxCRT_OpenA       wxPOSIX_IDENT(open)
+    #define   wxCRT_AccessA     wxPOSIX_IDENT(access)
+    #define   wxCRT_MkDirA      wxPOSIX_IDENT(mkdir)
+    #define   wxCRT_RmDirA      wxPOSIX_IDENT(rmdir)
+    #ifdef wxHAS_HUGE_FILES
+        #define   wxCRT_StatA       wxPOSIX_IDENT(stati64)
+    #else
+        // Unfortunately Watcom is not consistent
+        #if defined(__OS2__) && defined(__WATCOMC__)
+            #define   wxCRT_StatA       _stat
+        #else
+            #define   wxCRT_StatA       wxPOSIX_IDENT(stat)
+        #endif
+    #endif
+
+    // then wide char ones
+    #if wxUSE_UNICODE
+        // special workaround for buggy wopen() in bcc 5.5
+        #if defined(__BORLANDC__) && \
+            (__BORLANDC__ >= 0x550 && __BORLANDC__ <= 0x551)
+                WXDLLIMPEXP_BASE int wxCRT_OpenW(const wxChar *pathname,
+                                                 int flags, mode_t mode);
+        #else
+            #define wxCRT_OpenW       _wopen
+        #endif
+
+        #define   wxCRT_AccessW     _waccess
+        #define   wxCRT_MkDirW      _wmkdir
+        #define   wxCRT_RmDirW      _wrmdir
+        #ifdef wxHAS_HUGE_FILES
+            #define   wxCRT_StatW       _wstati64
+        #else
+            #define   wxCRT_StatW       _wstat
+        #endif
+    #endif // wxUSE_UNICODE
+
+
+    // finally the default char-type versions
     #if wxUSE_UNICODE
         #if wxUSE_UNICODE_MSLU
             // implement the missing file functions in Win9x ourselves
-            #if defined( __VISUALC__ ) \
-                || ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
-                || ( defined(__MWERKS__) && defined(__WXMSW__) ) \
-                || ( defined(__BORLANDC__) && (__BORLANDC__ > 0x460) ) \
-                || defined(__DMC__)
-
-                WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
-                                                   int flags, int mode);
-                WXDLLIMPEXP_BASE int wxMSLU__waccess(const wxChar *name,
-                                                     int mode);
-                WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wxChar *name);
-                WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
-
-                #ifdef wxHAS_HUGE_FILES
-                    WXDLLIMPEXP_BASE int
-                    wxMSLU__wstati64(const wxChar *name, wxStructStat *buffer);
-                #else // !wxHAS_HUGE_FILES
-                    WXDLLIMPEXP_BASE int
-                    wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
-                #endif // wxHAS_HUGE_FILES/!wxHAS_HUGE_FILES
-            #endif // Windows compilers with MSLU support
+            WXDLLIMPEXP_BASE int wxMSLU__wopen(const wxChar *name,
+                                               int flags, int mode);
+            WXDLLIMPEXP_BASE int wxMSLU__waccess(const wxChar *name,
+                                                 int mode);
+            WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wxChar *name);
+            WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wxChar *name);
+
+            WXDLLIMPEXP_BASE int
+            wxMSLU__wstat(const wxChar *name, wxStructStat *buffer);
 
             #define   wxCRT_Open       wxMSLU__wopen
 
             #define   wxCRT_Access     wxMSLU__waccess
             #define   wxCRT_MkDir      wxMSLU__wmkdir
             #define   wxCRT_RmDir      wxMSLU__wrmdir
-            #ifdef wxHAS_HUGE_FILES
-                #define   wxCRT_Stat   wxMSLU__wstati64
-            #else
-                #define   wxCRT_Stat   wxMSLU__wstat
-            #endif
+            #define   wxCRT_Stat       wxMSLU__wstat
         #else // !wxUSE_UNICODE_MSLU
-            #ifdef __BORLANDC__
-                #if __BORLANDC__ >= 0x550 && __BORLANDC__ <= 0x551
-                    WXDLLIMPEXP_BASE int wxCRT_Open(const wxChar *pathname,
-                                                    int flags, mode_t mode);
-                #else
-                    #define   wxCRT_Open       _wopen
-                #endif
-                #define   wxCRT_Access     _waccess
-                #define   wxCRT_MkDir      _wmkdir
-                #define   wxCRT_RmDir      _wrmdir
-                #ifdef wxHAS_HUGE_FILES
-                    #define   wxCRT_Stat       _wstati64
-                #else
-                    #define   wxCRT_Stat       _wstat
-                #endif
-            #else
-                #define   wxCRT_Open       _wopen
-                #define   wxCRT_Access     _waccess
-                #define   wxCRT_MkDir      _wmkdir
-                #define   wxCRT_RmDir      _wrmdir
-                #ifdef wxHAS_HUGE_FILES
-                    #define   wxCRT_Stat       _wstati64
-                #else
-                    #define   wxCRT_Stat       _wstat
-                #endif
-            #endif
+            #define wxCRT_Open      wxCRT_OpenW
+            #define wxCRT_Access    wxCRT_AccessW
+            #define wxCRT_MkDir     wxCRT_MkDirW
+            #define wxCRT_RmDir     wxCRT_RmDirW
+            #define wxCRT_Stat      wxCRT_StatW
         #endif // wxUSE_UNICODE_MSLU/!wxUSE_UNICODE_MSLU
     #else // !wxUSE_UNICODE
-        #define   wxCRT_Open       wxPOSIX_IDENT(open)
-        #define   wxCRT_Access     wxPOSIX_IDENT(access)
-        #define   wxCRT_MkDir      wxPOSIX_IDENT(mkdir)
-        #define   wxCRT_RmDir      wxPOSIX_IDENT(rmdir)
-        #ifdef wxHAS_HUGE_FILES
-            #define   wxCRT_Stat       wxPOSIX_IDENT(stati64)
-        #else
-            // Unfortunately Watcom is not consistent, so:-
-            #if defined(__OS2__) && defined(__WATCOMC__)
-                #define   wxCRT_Stat       _stat
-            #else
-                #define   wxCRT_Stat       wxPOSIX_IDENT(stat)
-            #endif
-        #endif
+        #define wxCRT_Open      wxCRT_OpenA
+        #define wxCRT_Access    wxCRT_AccessA
+        #define wxCRT_MkDir     wxCRT_MkDirA
+        #define wxCRT_RmDir     wxCRT_RmDirA
+        #define wxCRT_Stat      wxCRT_StatA
     #endif // wxUSE_UNICODE/!wxUSE_UNICODE
 
+
     // constants (unless already defined by the user code)
     #ifdef wxHAS_UNDERSCORES_IN_POSIX_IDENTS
         #ifndef O_RDONLY
index ca0d92a8632fe3c6a28548749b68eff1b8bf1eac..f74282c55f5b20cd1bb4e2245483c665a9101dfc 100644 (file)
@@ -131,7 +131,7 @@ const int wxInvalidOffset = -1;
 // regardless of the mode parameter. This hack works around the problem by
 // setting the mode with _wchmod.
 //
-int wxCRT_Open(const wchar_t *pathname, int flags, mode_t mode)
+int wxCRT_OpenW(const wchar_t *pathname, int flags, mode_t mode)
 {
     int moreflags = 0;
 
index 5d30eac70508145009912cf5bbe5663030c15ff6..ec882a9d986d5b11e0dbab49caf664efa08b561c 100644 (file)
@@ -21,6 +21,8 @@
     #include "wx/utils.h"
 #endif
 
+#define wxHAS_HUGE_FILES
+
 //------------------------------------------------------------------------
 // Check for use of MSLU
 //------------------------------------------------------------------------
@@ -182,68 +184,46 @@ WXDLLIMPEXP_BASE FILE* wxMSLU__wfreopen(const wchar_t *name,
         return _wfreopen(name, mode, stream);
 }
 
-#if defined( __VISUALC__ ) \
-    || ( defined(__MINGW32__) && wxCHECK_W32API_VERSION( 0, 5 ) ) \
-    || ( defined(__MWERKS__) && defined(__WXMSW__) ) \
-    || ( defined(__BORLANDC__) && (__BORLANDC__ > 0x460) )
-
 WXDLLIMPEXP_BASE int wxMSLU__wopen(const wchar_t *name, int flags, int mode)
 {
     if ( wxUsingUnicowsDll() )
-#ifdef __BORLANDC__
-        return open(wxConvFile.cWX2MB(name), flags, mode);
-#else
-        return _open(wxConvFile.cWX2MB(name), flags, mode);
-#endif
+        return wxCRT_OpenA(wxConvFile.cWX2MB(name), flags, mode);
     else
-        return _wopen(name, flags, mode);
+        return wxCRT_OpenW(name, flags, mode);
 }
 
 WXDLLIMPEXP_BASE int wxMSLU__waccess(const wchar_t *name, int mode)
 {
     if ( wxUsingUnicowsDll() )
-        return _access(wxConvFile.cWX2MB(name), mode);
+        return wxCRT_AccessA(wxConvFile.cWX2MB(name), mode);
     else
-        return _waccess(name, mode);
+        return wxCRT_AccessW(name, mode);
 }
 
 WXDLLIMPEXP_BASE int wxMSLU__wmkdir(const wchar_t *name)
 {
     if ( wxUsingUnicowsDll() )
-        return _mkdir(wxConvFile.cWX2MB(name));
+        return wxCRT_MkDirA(wxConvFile.cWX2MB(name));
     else
-        return _wmkdir(name);
+        return wxCRT_MkDirW(name);
 }
 
 WXDLLIMPEXP_BASE int wxMSLU__wrmdir(const wchar_t *name)
 {
     if ( wxUsingUnicowsDll() )
-        return _rmdir(wxConvFile.cWX2MB(name));
+        return wxCRT_RmDirA(wxConvFile.cWX2MB(name));
     else
-        return _wrmdir(name);
+        return wxCRT_RmDirW(name);
 }
 
-#ifdef wxHAS_HUGE_FILES
-WXDLLIMPEXP_BASE int wxMSLU__wstati64(const wchar_t *name, wxStructStat *buffer)
-{
-    if ( wxUsingUnicowsDll() )
-        return _stati64((const char*)wxConvFile.cWX2MB(name), buffer);
-    else
-        return _wstati64(name, buffer);
-}
-#else // !wxHAS_HUGE_FILES
 WXDLLIMPEXP_BASE int wxMSLU__wstat(const wchar_t *name, wxStructStat *buffer)
 {
     if ( wxUsingUnicowsDll() )
-        return _stat((const char*)wxConvFile.cWX2MB(name), buffer);
+        return wxCRT_StatA((const char*)wxConvFile.cWX2MB(name), buffer);
     else
-        return _wstat(name, buffer);
+        return wxCRT_StatW(name, buffer);
 }
 
-#endif // wxHAS_HUGE_FILES/!wxHAS_HUGE_FILES
-
-#endif // compilers having wopen() &c
-
 #endif // wxUSE_BASE
 
 #endif // wxUSE_UNICODE_MSLU