X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6626de903e54f907fed5737b61344e31f86262eb..77c8efc8c37da6d6a5e2e8022d21d1cd7d76371d:/src/common/ffile.cpp diff --git a/src/common/ffile.cpp b/src/common/ffile.cpp index 05c29faa6d..ae19669204 100644 --- a/src/common/ffile.cpp +++ b/src/common/ffile.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: ffile.cpp +// Name: src/common/ffile.cpp // Purpose: wxFFile encapsulates "FILE *" IO stream // Author: Vadim Zeitlin // Modified by: @@ -29,6 +29,7 @@ #ifndef WX_PRECOMP #include "wx/intl.h" #include "wx/log.h" + #include "wx/crt.h" #endif #ifdef __WINDOWS__ @@ -41,18 +42,6 @@ // implementation // ============================================================================ -// ---------------------------------------------------------------------------- -// seek and tell with large file support if available -// ---------------------------------------------------------------------------- - -#ifdef HAVE_FSEEKO -# define wxFseek fseeko -# define wxFtell ftello -#else -# define wxFseek fseek -# define wxFtell ftell -#endif - // ---------------------------------------------------------------------------- // opening the file // ---------------------------------------------------------------------------- @@ -120,7 +109,7 @@ bool wxFFile::ReadAll(wxString *str, const wxMBConv& conv) // realLen = fileLen - numOfLinesInTheFile) length = fread(buf.data(), sizeof(char), length, m_fp); - if ( Error() ) + if ( Error() ) { wxLogSysError(_("Read error on file '%s'"), m_name.c_str()); @@ -128,7 +117,9 @@ bool wxFFile::ReadAll(wxString *str, const wxMBConv& conv) } buf.data()[length] = 0; - *str = wxString(buf, conv); + + wxString strTmp(buf, conv); + str->swap(strTmp); return true; } @@ -214,7 +205,7 @@ bool wxFFile::Seek(wxFileOffset ofs, wxSeekMode mode) break; } -#ifndef HAVE_FSEEKO +#ifndef wxHAS_LARGE_FFILES if ((long)ofs != ofs) { wxLogError(_("Seek error on file '%s' (large files not supported by stdio)"), m_name.c_str()); @@ -238,7 +229,7 @@ bool wxFFile::Seek(wxFileOffset ofs, wxSeekMode mode) wxFileOffset wxFFile::Tell() const { wxCHECK_MSG( IsOpened(), wxInvalidOffset, - _T("wxFFile::Tell(): file is closed!") ); + wxT("wxFFile::Tell(): file is closed!") ); wxFileOffset rc = wxFtell(m_fp); if ( rc == wxInvalidOffset ) @@ -253,9 +244,9 @@ wxFileOffset wxFFile::Tell() const wxFileOffset wxFFile::Length() const { wxCHECK_MSG( IsOpened(), wxInvalidOffset, - _T("wxFFile::Length(): file is closed!") ); + wxT("wxFFile::Length(): file is closed!") ); - wxFFile& self = *(wxFFile *)this; // const_cast + wxFFile& self = *const_cast(this); wxFileOffset posOld = Tell(); if ( posOld != wxInvalidOffset )