summaryrefslogtreecommitdiff
path: root/kernel/lib
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
parentddd796325c9c703f007f046ed9f6fd9eb0ba6383 (diff)
Add UDP
Diffstat (limited to 'kernel/lib')
-rw-r--r--kernel/lib/buffered_write.c1
-rw-r--r--kernel/lib/relist.c1
-rw-r--r--kernel/lib/ringbuffer.c6
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;