Modify the space calculations slightly.
This commit is contained in:
parent
da67a253e6
commit
0f9150c64b
1 changed files with 8 additions and 4 deletions
12
RingBuffer.h
12
RingBuffer.h
|
@ -109,13 +109,17 @@ public:
|
||||||
|
|
||||||
unsigned int freeSpace() const
|
unsigned int freeSpace() const
|
||||||
{
|
{
|
||||||
if (m_oPtr == m_iPtr)
|
unsigned int len = m_length;
|
||||||
return m_length;
|
|
||||||
|
|
||||||
if (m_oPtr > m_iPtr)
|
if (m_oPtr > m_iPtr)
|
||||||
return m_oPtr - m_iPtr;
|
len = m_oPtr - m_iPtr;
|
||||||
|
else if (m_iPtr > m_oPtr)
|
||||||
|
len = m_length - (m_iPtr - m_oPtr);
|
||||||
|
|
||||||
return (m_length + m_oPtr) - m_iPtr;
|
if (len > m_length)
|
||||||
|
len = 0U;
|
||||||
|
|
||||||
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int dataSize() const
|
unsigned int dataSize() const
|
||||||
|
|
Loading…
Reference in a new issue