X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/67c20e133ebe01b5b4bc2468661a8bcc4097c5a2..c220a8ec4fcb4e7b620e88c76b0a84be4554b28b:/src/common/stream.cpp?ds=sidebyside diff --git a/src/common/stream.cpp b/src/common/stream.cpp index b9ccfcd2c3..62a8e98e7d 100644 --- a/src/common/stream.cpp +++ b/src/common/stream.cpp @@ -621,7 +621,7 @@ wxFileOffset wxStreamBuffer::Seek(wxFileOffset pos, wxSeekMode mode) wxFileOffset wxStreamBuffer::Tell() const { - wxFileSize_t pos; + wxFileOffset pos; // ask the stream for position if we have a real one if ( m_stream ) @@ -657,6 +657,12 @@ wxStreamBase::~wxStreamBase() { } +size_t wxStreamBase::GetSize() const +{ + wxFileOffset length = GetLength(); + return length == wxInvalidOffset ? 0 : (size_t)length; +} + wxFileOffset wxStreamBase::OnSysSeek(wxFileOffset WXUNUSED(seek), wxSeekMode WXUNUSED(mode)) { return wxInvalidOffset; @@ -889,7 +895,7 @@ wxFileOffset wxInputStream::SeekI(wxFileOffset pos, wxSeekMode mode) wxFileOffset wxInputStream::TellI() const { - wxFileSize_t pos = OnSysTell(); + wxFileOffset pos = OnSysTell(); if (pos != wxInvalidOffset) pos -= (m_wbacksize - m_wbackcur); @@ -957,7 +963,7 @@ wxCountingOutputStream::wxCountingOutputStream () m_currentPos = 0; } -size_t wxCountingOutputStream::GetSize() const +wxFileOffset wxCountingOutputStream::GetLength() const { return m_lastcount; } @@ -1122,7 +1128,7 @@ wxFileOffset wxBufferedInputStream::SeekI(wxFileOffset pos, wxSeekMode mode) wxFileOffset wxBufferedInputStream::TellI() const { - wxFileSize_t pos = m_i_streambuf->Tell(); + wxFileOffset pos = m_i_streambuf->Tell(); if (pos != wxInvalidOffset) pos -= (m_wbacksize - m_wbackcur); @@ -1179,6 +1185,13 @@ wxBufferedOutputStream::~wxBufferedOutputStream() delete m_o_streambuf; } +bool wxBufferedOutputStream::Close() +{ + Sync(); + return IsOk(); +} + + wxOutputStream& wxBufferedOutputStream::Write(const void *buffer, size_t size) { m_lastcount = 0; @@ -1218,9 +1231,9 @@ wxFileOffset wxBufferedOutputStream::OnSysTell() const return m_parent_o_stream->TellO(); } -size_t wxBufferedOutputStream::GetSize() const +wxFileOffset wxBufferedOutputStream::GetLength() const { - return m_parent_o_stream->GetSize() + m_o_streambuf->GetIntPosition(); + return m_parent_o_stream->GetLength() + m_o_streambuf->GetIntPosition(); } void wxBufferedOutputStream::SetOutputStreamBuffer(wxStreamBuffer *buffer)