X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/942bef71b0d8ff9375c08ac5082c6a45686644fb..07243717e26bda497d5a8b325c2e6acf4ee033cf:/src/common/wfstream.cpp diff --git a/src/common/wfstream.cpp b/src/common/wfstream.cpp index 3605e2a707..56743fd214 100644 --- a/src/common/wfstream.cpp +++ b/src/common/wfstream.cpp @@ -69,17 +69,21 @@ size_t wxFileInputStream::GetSize() const size_t wxFileInputStream::OnSysRead(void *buffer, size_t size) { - off_t ret; - - ret = m_file->Read(buffer, size); + off_t ret = m_file->Read(buffer, size); - m_lasterror = wxStream_NOERROR; - if (m_file->Eof()) - m_lasterror = wxStream_EOF; - if (ret == wxInvalidOffset) + switch ( ret ) { - m_lasterror = wxStream_READ_ERR; - ret = 0; + case 0: + m_lasterror = wxSTREAM_EOF; + break; + + case wxInvalidOffset: + m_lasterror = wxSTREAM_READ_ERROR; + ret = 0; + break; + + default: + m_lasterror = wxSTREAM_NO_ERROR; } return ret; @@ -103,7 +107,7 @@ wxFileOutputStream::wxFileOutputStream(const wxString& fileName) { m_file = new wxFile(fileName, wxFile::write); m_file_destroy = TRUE; - + if (!m_file->IsOpened()) { m_lasterror = wxSTREAM_WRITE_ERROR; @@ -122,7 +126,7 @@ wxFileOutputStream::wxFileOutputStream(wxFile& file) } wxFileOutputStream::wxFileOutputStream() - : wxOutputStream() + : wxOutputStream() { m_file_destroy = FALSE; m_file = NULL; @@ -136,7 +140,7 @@ wxFileOutputStream::wxFileOutputStream(int fd) wxFileOutputStream::~wxFileOutputStream() { - if (m_file_destroy) + if (m_file_destroy) { Sync(); delete m_file; @@ -146,10 +150,9 @@ wxFileOutputStream::~wxFileOutputStream() size_t wxFileOutputStream::OnSysWrite(const void *buffer, size_t size) { size_t ret = m_file->Write(buffer, size); - if (m_file->Error()) - m_lasterror = wxStream_WRITE_ERR; - else - m_lasterror = wxStream_NOERROR; + + m_lasterror = m_file->Error() ? wxSTREAM_WRITE_ERROR : wxSTREAM_NO_ERROR; + return ret; } @@ -232,10 +235,10 @@ size_t wxFFileInputStream::OnSysRead(void *buffer, size_t size) ret = m_file->Read(buffer, size); if (m_file->Eof()) - m_lasterror = wxStream_EOF; - if (ret == wxInvalidOffset) + m_lasterror = wxSTREAM_EOF; + if (ret == wxInvalidOffset) { - m_lasterror = wxStream_READ_ERR; + m_lasterror = wxSTREAM_READ_ERROR; ret = 0; } @@ -244,7 +247,7 @@ size_t wxFFileInputStream::OnSysRead(void *buffer, size_t size) off_t wxFFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode) { - return m_file->Seek(pos, mode); + return ( m_file->Seek(pos, mode) ? pos : wxInvalidOffset ); } off_t wxFFileInputStream::OnSysTell() const @@ -260,7 +263,7 @@ wxFFileOutputStream::wxFFileOutputStream(const wxString& fileName) { m_file = new wxFFile(fileName, "w+b"); m_file_destroy = TRUE; - + if (!m_file->IsOpened()) { m_lasterror = wxSTREAM_WRITE_ERROR; @@ -293,7 +296,7 @@ wxFFileOutputStream::wxFFileOutputStream(FILE *file) wxFFileOutputStream::~wxFFileOutputStream() { - if (m_file_destroy) + if (m_file_destroy) { Sync(); delete m_file; @@ -304,9 +307,9 @@ size_t wxFFileOutputStream::OnSysWrite(const void *buffer, size_t size) { size_t ret = m_file->Write(buffer, size); if (m_file->Error()) - m_lasterror = wxStream_WRITE_ERR; + m_lasterror = wxSTREAM_WRITE_ERROR; else - m_lasterror = wxStream_NOERROR; + m_lasterror = wxSTREAM_NO_ERROR; return ret; } @@ -317,7 +320,7 @@ off_t wxFFileOutputStream::OnSysTell() const off_t wxFFileOutputStream::OnSysSeek(off_t pos, wxSeekMode mode) { - return m_file->Seek(pos, mode); + return ( m_file->Seek(pos, mode) ? pos : wxInvalidOffset ); } void wxFFileOutputStream::Sync()