From 9e51832ceb9962c4d0ed5a0f2af0525e18f67290 Mon Sep 17 00:00:00 2001 From: Lizongdi <1210855344@qq.com> Date: Thu, 17 Sep 2026 09:53:23 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=B8=BB=E7=BA=BF=E5=BE=85=E5=90=88?= =?UTF-8?q?=E3=80=91=E8=BF=99=E9=87=8C=E5=87=BA=E7=8E=B0=E8=B4=9F=E6=95=B0?= =?UTF-8?q?=E8=AE=B0=E4=B8=80=E4=B8=AA=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=B9=B6=E4=B8=94=E5=BC=BA=E5=88=B6=E8=BF=94=E5=9B=9E0?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2memcpy=E6=8E=A5=E6=94=B6=E8=B4=9F?= =?UTF-8?q?=E6=95=B0=E8=80=8C=E5=B4=A9=E6=BA=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/ringbuffer/ringbuffer.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/library/ringbuffer/ringbuffer.c b/library/ringbuffer/ringbuffer.c index f8ac6fb..76d40cd 100644 --- a/library/ringbuffer/ringbuffer.c +++ b/library/ringbuffer/ringbuffer.c @@ -78,6 +78,7 @@ void rd_RingbufferInit(rd_ringbuf_t *rb, char *pool, int size) int rd_RingbufferSpaceLen(rd_ringbuf_t *rb) { if (!rb) return -1; + int iRet = 0; unsigned short wi = ATOMIC_LOAD(&rb->m_sWriteIndex, unsigned short, ATOMIC_ORDER_ACQUIRE); unsigned short ri = ATOMIC_LOAD(&rb->m_sReadIndex, unsigned short, ATOMIC_ORDER_RELAXED); @@ -85,9 +86,19 @@ int rd_RingbufferSpaceLen(rd_ringbuf_t *rb) unsigned char rb_m = ATOMIC_LOAD(&rb->m_bReadMirror, unsigned char, ATOMIC_ORDER_RELAXED); if (wb == rb_m) { - return rb->m_iBufsize - (wi - ri); + iRet = rb->m_iBufsize - (wi - ri); } else { - return ri - wi; + iRet = ri - wi; + } + + if (iRet > 0) + { + return iRet; + } + else + { + log_e("wb = %d, rb_m = %d, wi = %d, ri = %d", wb, rb_m, wi, ri); + return 0; } }