X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8482e4bdb9928fe9982ac214aee345b19894b39b..ca80fdee5eea286d700e0a8f03c88da9f4f88ade:/include/wx/filefn.h diff --git a/include/wx/filefn.h b/include/wx/filefn.h index 1b102609ef..97881ebb40 100644 --- a/include/wx/filefn.h +++ b/include/wx/filefn.h @@ -131,6 +131,7 @@ enum wxSeekMode // Implemented in filefnwce.cpp #if defined( __WXWINCE__) typedef __int64 wxFileOffset; + typedef unsigned __int64 wxFileSize_t; #define wxFileOffsetFmtSpec _("I64") int wxOpen(const wxChar *filename, int oflag, int WXUNUSED(pmode)); int wxAccess(const wxChar *name, int WXUNUSED(how)); @@ -175,17 +176,17 @@ enum wxSeekMode // Digital Mars doesn't) #include "wx/msw/private.h" - #undef __HUGEFILES_SUPPORTED + #undef wxHAS_HUGE_FILES #if defined(__MINGW32__) - #define __HUGEFILES_SUPPORTED 1 + #define wxHAS_HUGE_FILES 1 #elif defined(__MWERKS__) - #define __HUGEFILES_SUPPORTED 0 + #define wxHAS_HUGE_FILES 0 #elif defined(__DMC__) - #define __HUGEFILES_SUPPORTED 0 + #define wxHAS_HUGE_FILES 0 #elif ((_INTEGRAL_MAX_BITS >= 64) || defined(_LARGE_FILES)) - #define __HUGEFILES_SUPPORTED 1 + #define wxHAS_HUGE_FILES 1 #else - #define __HUGEFILES_SUPPORTED 0 + #define wxHAS_HUGE_FILES 0 #endif // functions @@ -193,11 +194,17 @@ enum wxSeekMode #define _tell tell #endif - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES typedef wxLongLong_t wxFileOffset; + typedef unsigned wxLongLong_t wxFileSize_t; #define wxFileOffsetFmtSpec wxLongLongFmtSpec #else typedef off_t wxFileOffset; + #if defined(__DMC__) + typedef unsigned long wxFileSize_t; + #else + typedef unsigned off_t wxFileSize_t; + #endif #define wxFileOffsetFmtSpec _("") #endif @@ -222,7 +229,7 @@ enum wxSeekMode #define wxWrite _write #endif #endif - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES #define wxSeek _lseeki64 #define wxLseek _lseeki64 #define wxTell _telli64 @@ -245,7 +252,7 @@ enum wxSeekMode #define wxAccess wxMSLU__waccess #define wxMkDir wxMSLU__wmkdir #define wxRmDir wxMSLU__wrmdir - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES #define wxStat wxMSLU__wstati64 #else #define wxStat wxMSLU__wstat @@ -255,7 +262,7 @@ enum wxSeekMode #define wxAccess _waccess #define wxMkDir _wmkdir #define wxRmDir _wrmdir - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES #define wxStat _wstati64 #else #define wxStat _wstat @@ -274,7 +281,7 @@ enum wxSeekMode #else #define wxRmDir _rmdir #endif - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES #define wxStat _stati64 #else #define wxStat _stat @@ -283,7 +290,7 @@ enum wxSeekMode // types: notice that Watcom is the only compiler to have a wide char // version of struct stat as well as a wide char stat function variant - #if __HUGEFILES_SUPPORTED + #if wxHAS_HUGE_FILES #if wxUSE_UNICODE && defined(__WATCOMC__) #define wxStructStat struct _wstati64 #else @@ -298,29 +305,35 @@ enum wxSeekMode #endif // constants (unless already defined by the user code) - #if !defined(O_RDONLY) && !defined(__BORLANDC__) && !defined(__WATCOMC__) - #define O_RDONLY _O_RDONLY - #define O_WRONLY _O_WRONLY - #define O_RDWR _O_RDWR - #define O_EXCL _O_EXCL - #define O_CREAT _O_CREAT - #define O_BINARY _O_BINARY - #endif - #if !defined(__BORLANDC__) && !defined(__WATCOMC__) - #define S_IFMT _S_IFMT - #define S_IFDIR _S_IFDIR - #define S_IFREG _S_IFREG - #endif // O_RDONLY + #ifndef O_RDONLY + #define O_RDONLY _O_RDONLY + #define O_WRONLY _O_WRONLY + #define O_RDWR _O_RDWR + #define O_EXCL _O_EXCL + #define O_CREAT _O_CREAT + #define O_BINARY _O_BINARY + #endif + + #ifndef S_IFMT + #define S_IFMT _S_IFMT + #define S_IFDIR _S_IFDIR + #define S_IFREG _S_IFREG + #endif + #endif // It's a private define, undefine it so nobody gets tempted to use it - #undef __HUGEFILES_SUPPORTED + #undef wxHAS_HUGE_FILES #else // Unix platforms using configure typedef off_t wxFileOffset; #ifdef _LARGE_FILES #define wxFileOffsetFmtSpec wxLongLongFmtSpec + wxCOMPILE_TIME_ASSERT( sizeof(off_t) == sizeof(wxLongLong_t), + BadFileSizeType ); + typedef unsigned wxLongLong_t wxFileSize_t; #else #define wxFileOffsetFmtSpec _T("") + typedef unsigned long wxFileSize_t; #endif // functions #define wxClose close @@ -358,9 +371,9 @@ enum wxSeekMode // VisualAge C++ V4.0 cannot have any external linkage const decs // in headers included by more than one primary source // -extern const wxFileOffset wxInvalidOffset; +extern const wxFileSize_t wxInvalidOffset; #else -const wxFileOffset wxInvalidOffset = (wxFileOffset)-1; +const wxFileSize_t wxInvalidOffset = (wxFileSize_t)-1; #endif // ---------------------------------------------------------------------------- @@ -560,7 +573,7 @@ public: // wxFileConfig::Flush() for example wxUmaskChanger(int umaskNew) { - m_umaskOld = umaskNew == -1 ? -1 : umask((mode_t)umaskNew); + m_umaskOld = umaskNew == -1 ? -1 : (int)umask((mode_t)umaskNew); } ~wxUmaskChanger()