{
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();
{
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();
- wxChar buf[1024];
- static const size_t nSize = WXSIZEOF(buf) - 1; // -1 for trailing '\0'
- while ( !Eof() )
- {
- size_t nRead = fread(buf, sizeof(wxChar), nSize, m_fp);
- if ( (nRead < nSize) && Error() )
- {
- wxLogSysError(_("Read error on file '%s'"), m_name.c_str());
+ // 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)
+ length = fread(buf.data(), sizeof(char), length, m_fp);
- 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() )
size_t nRead = fread(pBuf, 1, nCount, m_fp);
if ( (nRead < nCount) && Error() )
- 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 )
size_t nWritten = fwrite(pBuf, 1, nCount, m_fp);
if ( nWritten < nCount )