Sanity check the ring buffers.

This commit is contained in:
Jonathan Naylor 2016-06-13 19:47:45 +01:00
parent a381387c5c
commit 0c635f5132
6 changed files with 24 additions and 10 deletions

View file

@ -35,12 +35,19 @@ m_overflow(false)
uint16_t CSampleRB::getSpace() const
{
uint16_t n = 0U;
if (m_tail == m_head)
return m_full ? 0U : m_length;
n = m_full ? 0U : m_length;
else if (m_tail < m_head)
return m_length - m_head + m_tail;
n = m_length - m_head + m_tail;
else
return m_tail - m_head;
n = m_tail - m_head;
if (n > m_length)
n = 0U;
return n;
}
uint16_t CSampleRB::getData() const