remove redundant m_buffer_size member (patch 1861348)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-01-02 16:51:53 +00:00
parent a05166568c
commit b23bc769d3
2 changed files with 22 additions and 29 deletions

View File

@@ -444,7 +444,7 @@ public:
void *GetBufferStart() const { return m_buffer_start; } void *GetBufferStart() const { return m_buffer_start; }
void *GetBufferEnd() const { return m_buffer_end; } void *GetBufferEnd() const { return m_buffer_end; }
void *GetBufferPos() const { return m_buffer_pos; } void *GetBufferPos() const { return m_buffer_pos; }
size_t GetBufferSize() const { return m_buffer_size; } size_t GetBufferSize() const { return m_buffer_end - m_buffer_start; }
size_t GetIntPosition() const { return m_buffer_pos - m_buffer_start; } size_t GetIntPosition() const { return m_buffer_pos - m_buffer_start; }
void SetIntPosition(size_t pos) { m_buffer_pos = m_buffer_start + pos; } void SetIntPosition(size_t pos) { m_buffer_pos = m_buffer_start + pos; }
size_t GetLastAccess() const { return m_buffer_end - m_buffer_start; } size_t GetLastAccess() const { return m_buffer_end - m_buffer_start; }
@@ -459,7 +459,7 @@ public:
// misc accessors // misc accessors
wxStreamBase *GetStream() const { return m_stream; } wxStreamBase *GetStream() const { return m_stream; }
bool HasBuffer() const { return m_buffer_size != 0; } bool HasBuffer() const { return m_buffer_start != m_buffer_end; }
bool IsFixed() const { return m_fixed; } bool IsFixed() const { return m_fixed; }
bool IsFlushable() const { return m_flushable; } bool IsFlushable() const { return m_flushable; }
@@ -499,10 +499,6 @@ protected:
*m_buffer_end, *m_buffer_end,
*m_buffer_pos; *m_buffer_pos;
// the buffer size
// FIXME: isn't it the same as m_buffer_end - m_buffer_start? (VZ)
size_t m_buffer_size;
// the stream we're associated with // the stream we're associated with
wxStreamBase *m_stream; wxStreamBase *m_stream;

View File

@@ -63,7 +63,6 @@ void wxStreamBuffer::InitBuffer()
m_buffer_start = m_buffer_start =
m_buffer_end = m_buffer_end =
m_buffer_pos = NULL; m_buffer_pos = NULL;
m_buffer_size = 0;
// if we are going to allocate the buffer, we should free it later as well // if we are going to allocate the buffer, we should free it later as well
m_destroybuf = true; m_destroybuf = true;
@@ -106,7 +105,6 @@ wxStreamBuffer::wxStreamBuffer(const wxStreamBuffer& buffer)
m_buffer_start = buffer.m_buffer_start; m_buffer_start = buffer.m_buffer_start;
m_buffer_end = buffer.m_buffer_end; m_buffer_end = buffer.m_buffer_end;
m_buffer_pos = buffer.m_buffer_pos; m_buffer_pos = buffer.m_buffer_pos;
m_buffer_size = buffer.m_buffer_size;
m_fixed = buffer.m_fixed; m_fixed = buffer.m_fixed;
m_flushable = buffer.m_flushable; m_flushable = buffer.m_flushable;
m_stream = buffer.m_stream; m_stream = buffer.m_stream;
@@ -156,8 +154,6 @@ void wxStreamBuffer::SetBufferIO(void *start,
m_buffer_start = (char *)start; m_buffer_start = (char *)start;
m_buffer_end = m_buffer_start + len; m_buffer_end = m_buffer_start + len;
m_buffer_size = len;
// if we own it, we free it // if we own it, we free it
m_destroybuf = takeOwnership; m_destroybuf = takeOwnership;
@@ -195,7 +191,7 @@ void wxStreamBuffer::ResetBuffer()
void wxStreamBuffer::Truncate() void wxStreamBuffer::Truncate()
{ {
size_t new_size = m_buffer_pos - m_buffer_start; size_t new_size = m_buffer_pos - m_buffer_start;
if ( new_size == m_buffer_size ) if ( m_buffer_pos == m_buffer_end )
return; return;
if ( !new_size ) if ( !new_size )
@@ -209,8 +205,7 @@ void wxStreamBuffer::Truncate()
wxCHECK_RET( new_size, _T("shrinking buffer shouldn't fail") ); wxCHECK_RET( new_size, _T("shrinking buffer shouldn't fail") );
m_buffer_start = new_start; m_buffer_start = new_start;
m_buffer_size = new_size; m_buffer_end = m_buffer_start + new_size;
m_buffer_end = m_buffer_start + m_buffer_size;
m_buffer_pos = m_buffer_end; m_buffer_pos = m_buffer_end;
} }
@@ -223,7 +218,7 @@ bool wxStreamBuffer::FillBuffer()
if ( !inStream ) if ( !inStream )
return false; return false;
size_t count = inStream->OnSysRead(m_buffer_start, m_buffer_size); size_t count = inStream->OnSysRead(GetBufferStart(), GetBufferSize());
if ( !count ) if ( !count )
return false; return false;
@@ -293,16 +288,17 @@ void wxStreamBuffer::PutToBuffer(const void *buffer, size_t size)
else // !m_fixed else // !m_fixed
{ {
// realloc the buffer to have enough space for the data // realloc the buffer to have enough space for the data
if ( m_buffer_pos + size > m_buffer_end )
{
size_t delta = m_buffer_pos - m_buffer_start; size_t delta = m_buffer_pos - m_buffer_start;
size_t new_size = delta + size;
char *startOld = m_buffer_start; char *startOld = m_buffer_start;
m_buffer_size += size; m_buffer_start = (char *)realloc(m_buffer_start, new_size);
m_buffer_start = (char *)realloc(m_buffer_start, m_buffer_size);
if ( !m_buffer_start ) if ( !m_buffer_start )
{ {
// don't leak memory if realloc() failed // don't leak memory if realloc() failed
m_buffer_start = startOld; m_buffer_start = startOld;
m_buffer_size -= size;
// what else can we do? // what else can we do?
return; return;
@@ -310,7 +306,8 @@ void wxStreamBuffer::PutToBuffer(const void *buffer, size_t size)
// adjust the pointers invalidated by realloc() // adjust the pointers invalidated by realloc()
m_buffer_pos = m_buffer_start + delta; m_buffer_pos = m_buffer_start + delta;
m_buffer_end = m_buffer_start + m_buffer_size; m_buffer_end = m_buffer_start + new_size;
} // else: the buffer is big enough
} }
} }