X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f281f29f89a06dffd4a9357623e4d7a247419dc9..89c831801467203372b6964a785823f19e8063dd:/src/common/ffile.cpp diff --git a/src/common/ffile.cpp b/src/common/ffile.cpp index 78cf20c8c3..d34756376a 100644 --- a/src/common/ffile.cpp +++ b/src/common/ffile.cpp @@ -17,10 +17,6 @@ // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "ffile.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -35,6 +31,10 @@ #include "wx/log.h" #endif +#ifdef __WINDOWS__ +#include "wx/msw/mslu.h" +#endif + #include "wx/ffile.h" // ============================================================================ @@ -108,18 +108,17 @@ bool wxFFile::ReadAll(wxString *str, wxMBConv& conv) wxCHECK_MSG( str, false, wxT("invalid parameter") ); wxCHECK_MSG( IsOpened(), false, wxT("can't read from closed file") ); wxCHECK_MSG( Length() >= 0, false, wxT("invalid length") ); - size_t length = (size_t)Length(); + size_t length = wx_truncate_cast(size_t, Length()); wxCHECK_MSG( (wxFileOffset)length == Length(), false, wxT("huge file not supported") ); clearerr(m_fp); - const size_t fileLen = Length(); - wxCharBuffer buf(fileLen + 1); + wxCharBuffer buf(length + 1); - // note that realLen may be less than fileLen for text files with DOS EOLs + // note that real length may be less than file length for text files with DOS EOLs // ('\r's get dropped by CRT when reading which means that we have // realLen = fileLen - numOfLinesInTheFile) - size_t realLen = fread(buf.data(), sizeof(char), fileLen, m_fp); + length = fread(buf.data(), sizeof(char), length, m_fp); if ( Error() ) { @@ -128,7 +127,7 @@ bool wxFFile::ReadAll(wxString *str, wxMBConv& conv) return false; } - buf.data()[realLen] = 0; + buf.data()[length] = 0; *str = wxString(buf, conv); return true; @@ -136,8 +135,8 @@ bool wxFFile::ReadAll(wxString *str, wxMBConv& conv) size_t wxFFile::Read(void *pBuf, size_t nCount) { - wxCHECK_MSG( pBuf, FALSE, wxT("invalid parameter") ); - wxCHECK_MSG( IsOpened(), FALSE, wxT("can't read from closed file") ); + wxCHECK_MSG( pBuf, 0, wxT("invalid parameter") ); + wxCHECK_MSG( IsOpened(), 0, wxT("can't read from closed file") ); size_t nRead = fread(pBuf, 1, nCount, m_fp); if ( (nRead < nCount) && Error() ) @@ -150,8 +149,8 @@ size_t wxFFile::Read(void *pBuf, size_t nCount) size_t wxFFile::Write(const void *pBuf, size_t nCount) { - wxCHECK_MSG( pBuf, FALSE, wxT("invalid parameter") ); - wxCHECK_MSG( IsOpened(), FALSE, wxT("can't write to closed file") ); + wxCHECK_MSG( pBuf, 0, wxT("invalid parameter") ); + wxCHECK_MSG( IsOpened(), 0, wxT("can't write to closed file") ); size_t nWritten = fwrite(pBuf, 1, nCount, m_fp); if ( nWritten < nCount )