summaryrefslogtreecommitdiff
path: root/kernel/lib/ringbuffer.c
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2024-06-09 22:05:53 +0200
committerAnton Kling <anton@kling.gg>2024-06-09 22:05:53 +0200
commit15003d1b0abccc8bcef84386c4a6da176e41f883 (patch)
treed4f8c4f1602ee9e6c4332f3b0585d0e284d0f695 /kernel/lib/ringbuffer.c
parentddd796325c9c703f007f046ed9f6fd9eb0ba6383 (diff)
Add UDP
Diffstat (limited to 'kernel/lib/ringbuffer.c')
-rw-r--r--kernel/lib/ringbuffer.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/kernel/lib/ringbuffer.c b/kernel/lib/ringbuffer.c
index 9caf555..643e6b9 100644
--- a/kernel/lib/ringbuffer.c
+++ b/kernel/lib/ringbuffer.c
@@ -74,9 +74,11 @@ u32 ringbuffer_read(struct ringbuffer *rb, u8 *buffer, u32 len) {
}
read_len = min(len, read_len);
- memcpy(buffer, rb->buffer + rb->read_ptr, read_len);
+ if (buffer) {
+ memcpy(buffer, rb->buffer + rb->read_ptr, read_len);
+ buffer += read_len;
+ }
len -= read_len;
- buffer += read_len;
rb->read_ptr = (rb->read_ptr + read_len) % rb->buffer_size;
}
return orig_len - len;