diff options
author | Anton Kling <anton@kling.gg> | 2024-06-09 22:05:53 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-06-09 22:05:53 +0200 |
commit | 15003d1b0abccc8bcef84386c4a6da176e41f883 (patch) | |
tree | d4f8c4f1602ee9e6c4332f3b0585d0e284d0f695 /kernel/lib | |
parent | ddd796325c9c703f007f046ed9f6fd9eb0ba6383 (diff) |
Add UDP
Diffstat (limited to 'kernel/lib')
-rw-r--r-- | kernel/lib/buffered_write.c | 1 | ||||
-rw-r--r-- | kernel/lib/relist.c | 1 | ||||
-rw-r--r-- | kernel/lib/ringbuffer.c | 6 |
3 files changed, 6 insertions, 2 deletions
diff --git a/kernel/lib/buffered_write.c b/kernel/lib/buffered_write.c index b6b78f9..8642c89 100644 --- a/kernel/lib/buffered_write.c +++ b/kernel/lib/buffered_write.c @@ -1,5 +1,6 @@ #include <kmalloc.h> #include <lib/buffered_write.h> +#include <string.h> int buffered_init(struct buffered *ctx, u16 size) { ctx->data = kmalloc(size); diff --git a/kernel/lib/relist.c b/kernel/lib/relist.c index a2f9ce5..01af884 100644 --- a/kernel/lib/relist.c +++ b/kernel/lib/relist.c @@ -2,6 +2,7 @@ #include <kmalloc.h> #include <lib/relist.h> #include <math.h> +#include <string.h> void relist_init(struct relist *list) { list->bitmap_capacity = 1; 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; |