X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0aca1ded9ce90a6d5f560c2617df1ef5089c789b..6a008b33c4943a259f9d953598a82d12bcc04dbf:/src/common/wfstream.cpp diff --git a/src/common/wfstream.cpp b/src/common/wfstream.cpp index 885bab4cf9..599c2f2fad 100644 --- a/src/common/wfstream.cpp +++ b/src/common/wfstream.cpp @@ -15,14 +15,17 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include -#include -#include #ifdef __BORLANDC__ -#pragma hdrstop + #pragma hdrstop #endif +#if wxUSE_STREAMS && wxUSE_FILE + +#include +#include "wx/stream.h" +#include "wx/wfstream.h" + // ---------------------------------------------------------------------------- // wxFileInputStream // ---------------------------------------------------------------------------- @@ -32,7 +35,6 @@ wxFileInputStream::wxFileInputStream(const wxString& fileName) { m_file = new wxFile(fileName, wxFile::read); m_file_destroy = TRUE; - m_i_streambuf->SetBufferIO(1024); } wxFileInputStream::wxFileInputStream() @@ -46,14 +48,12 @@ wxFileInputStream::wxFileInputStream(wxFile& file) { m_file = &file; m_file_destroy = FALSE; - m_i_streambuf->SetBufferIO(1024); } wxFileInputStream::wxFileInputStream(int fd) { m_file = new wxFile(fd); m_file_destroy = TRUE; - m_i_streambuf->SetBufferIO(1024); } wxFileInputStream::~wxFileInputStream() @@ -74,7 +74,18 @@ size_t wxFileInputStream::StreamSize() const size_t wxFileInputStream::OnSysRead(void *buffer, size_t size) { - return m_file->Read(buffer, size); + off_t ret; + + ret = m_file->Read(buffer, size); + + if (m_file->Eof()) + m_lasterror = wxStream_EOF; + if (ret == wxInvalidOffset) { + m_lasterror = wxStream_READ_ERR; + ret = 0; + } + + return ret; } off_t wxFileInputStream::OnSysSeek(off_t pos, wxSeekMode mode) @@ -95,20 +106,17 @@ wxFileOutputStream::wxFileOutputStream(const wxString& fileName) { m_file = new wxFile(fileName, wxFile::write); m_file_destroy = TRUE; - m_o_streambuf->SetBufferIO(1024); } wxFileOutputStream::wxFileOutputStream(wxFile& file) { m_file = &file; m_file_destroy = FALSE; - m_o_streambuf->SetBufferIO(1024); } wxFileOutputStream::wxFileOutputStream() : wxOutputStream() { - m_o_streambuf->SetBufferIO(1024); m_file_destroy = FALSE; m_file = NULL; } @@ -117,7 +125,6 @@ wxFileOutputStream::wxFileOutputStream(int fd) { m_file = new wxFile(fd); m_file_destroy = TRUE; - m_o_streambuf->SetBufferIO(1024); } wxFileOutputStream::~wxFileOutputStream() @@ -163,3 +170,7 @@ wxFileStream::wxFileStream(const wxString& fileName) : wxFileInputStream(fileName), wxFileOutputStream(*wxFileInputStream::m_file) { } + +#endif + // wxUSE_STREAMS && wxUSE_FILE +