diff --git a/driver.c b/driver.c index cd59397..0c4be14 100644 --- a/driver.c +++ b/driver.c @@ -16,9 +16,7 @@ main(void) int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int ok = WriteOk; // Assume we can write - if(rb_push_many(&rb, arr, memcpy, 8) != WriteOk) { - printf("Failed to write data to buffer...\n"); - } + ok = rb_push_many(&rb, arr, memcpy, 8); int d; while(rb_pop_front(&rb, &d, memcpy) == ReadOk) { diff --git a/ringbuf.c b/ringbuf.c index 0293f36..9ea1a6d 100644 --- a/ringbuf.c +++ b/ringbuf.c @@ -23,6 +23,20 @@ rb_init(struct RingBuf *rb, rb_size_t capacity, ALLOC_T malloc_fn, rb->count = 0; rb->write_head = rb->buffer; rb->read_head = rb->buffer; + + DEBUG_PRINT("Reading from buffer at position %d\n", + rb->capacity * rb->struct_size); + + // Read from buffer at max position to force a segfault if theres an issue + void *top = rb->buffer + (rb->capacity * rb->struct_size); + + DEBUG_PRINT("Buffer top successfully read at virtual address: %p\n", &top); + + DEBUG_PRINT( + "Initialized ring buffer. Capacit: %d, struct_size: %d, total: %d\n", + rb->capacity, rb->struct_size, rb->capacity * rb->struct_size); + + DEBUG_PRINT("Size of RB: %lu\n", sizeof(struct RingBuf)); } void