From a20f952f705e18394db26bf1121363c3529f6c05 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 19 Jun 2004 12:33:03 +0200 Subject: Fixed cRingBufferLinear::Get() in case the buffer wraps around --- ringbuffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'ringbuffer.c') diff --git a/ringbuffer.c b/ringbuffer.c index 6f26748a..b52c37e5 100644 --- a/ringbuffer.c +++ b/ringbuffer.c @@ -7,7 +7,7 @@ * Parts of this file were inspired by the 'ringbuffy.c' from the * LinuxDVB driver (see linuxtv.org). * - * $Id: ringbuffer.c 1.19 2004/03/07 13:46:51 kls Exp $ + * $Id: ringbuffer.c 1.20 2004/06/19 12:27:56 kls Exp $ */ #include "ringbuffer.h" @@ -181,6 +181,7 @@ uchar *cRingBufferLinear::Get(int &Count) int t = margin - rest; memcpy(buffer + t, buffer + tail, rest); tail = t; + rest = head - tail; } int diff = head - tail; int cont = (diff >= 0) ? diff : Size() + diff - margin; -- cgit v1.2.3