Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix RingBuffer::tryWrite, cleanup
Signed-off-by: falkTX <falktx@falktx.com>
  • Loading branch information
falkTX committed Aug 27, 2023
1 parent c11f93d commit 1fc0c6b
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions distrho/extra/RingBuffer.hpp
Expand Up @@ -557,14 +557,14 @@ class RingBufferControl
bool tryRead(void* const buf, const uint32_t size) noexcept
{
DISTRHO_SAFE_ASSERT_RETURN(buffer != nullptr, false);
#if defined(__clang__)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wtautological-pointer-compare"
#endif
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wtautological-pointer-compare"
#endif
DISTRHO_SAFE_ASSERT_RETURN(buffer->buf != nullptr, false);
#if defined(__clang__)
# pragma clang diagnostic pop
#endif
#if defined(__clang__)
#pragma clang diagnostic pop
#endif
DISTRHO_SAFE_ASSERT_RETURN(buf != nullptr, false);
DISTRHO_SAFE_ASSERT_RETURN(size > 0, false);
DISTRHO_SAFE_ASSERT_RETURN(size < buffer->size, false);
Expand All @@ -573,11 +573,11 @@ class RingBufferControl
if (buffer->head == buffer->tail)
return false;

uint8_t* const bytebuf(static_cast<uint8_t*>(buf));
uint8_t* const bytebuf = static_cast<uint8_t*>(buf);

const uint32_t head(buffer->head);
const uint32_t tail(buffer->tail);
const uint32_t wrap((head > tail) ? 0 : buffer->size);
const uint32_t head = buffer->head;
const uint32_t tail = buffer->tail;
const uint32_t wrap = head > tail ? 0 : buffer->size;

if (size > wrap + head - tail)
{
Expand All @@ -589,7 +589,7 @@ class RingBufferControl
return false;
}

uint32_t readto(tail + size);
uint32_t readto = tail + size;

if (readto > buffer->size)
{
Expand Down Expand Up @@ -627,13 +627,13 @@ class RingBufferControl
DISTRHO_SAFE_ASSERT_RETURN(size > 0, false);
DISTRHO_SAFE_ASSERT_UINT2_RETURN(size < buffer->size, size, buffer->size, false);

const uint8_t* const bytebuf(static_cast<const uint8_t*>(buf));
const uint8_t* const bytebuf = static_cast<const uint8_t*>(buf);

const uint32_t tail(buffer->tail);
const uint32_t wrtn(buffer->wrtn);
const uint32_t wrap((tail > wrtn) ? 0 : buffer->size);
const uint32_t tail = buffer->tail;
const uint32_t wrtn = buffer->wrtn;
const uint32_t wrap = tail > wrtn ? 0 : buffer->size;

if (size >= wrap + tail - wrtn)
if (size > wrap + tail - wrtn)
{
if (! errorWriting)
{
Expand All @@ -644,7 +644,7 @@ class RingBufferControl
return false;
}

uint32_t writeto(wrtn + size);
uint32_t writeto = wrtn + size;

if (writeto > buffer->size)
{
Expand Down

0 comments on commit 1fc0c6b

Please sign in to comment.