diff options
Diffstat (limited to 'src/engine/e_ringbuffer.c')
| -rw-r--r-- | src/engine/e_ringbuffer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/engine/e_ringbuffer.c b/src/engine/e_ringbuffer.c index f6f529f8..9ece9b98 100644 --- a/src/engine/e_ringbuffer.c +++ b/src/engine/e_ringbuffer.c @@ -206,9 +206,11 @@ void *ringbuf_item_ptr(void *p) return ((RBITEM *)p) - 1; } -void *ringbuf_first(RINGBUFFER *rb) -{ - return ringbuf_next(rb, rb->last_alloc+1); +void *ringbuf_first(RINGBUFFER *rb) +{ + if(rb->last_alloc && rb->last_alloc->next) + return ringbuf_next(rb, rb->last_alloc->next+1); + return 0x0; } void *ringbuf_last(RINGBUFFER *rb) |