diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/mem.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/mem.c b/src/lib/mem.c index 91fed94..dc915e6 100644 --- a/src/lib/mem.c +++ b/src/lib/mem.c @@ -1,6 +1,19 @@ #include <drivers/uart.h> #include <lib/mem.h> +void memcpyrot(unsigned char* src, struct RotBuffer* rb, unsigned int n) +{ + if (n > rb->size) + return; + unsigned char* addr = rb->base + rb->offset; + for (unsigned int i = 0; i < n; i++) { + if (addr >= (unsigned char*)(rb->base + rb->size)) + addr = rb->base; + *addr = src[i]; + addr++; + } +} + void memshow32(unsigned long* addr, unsigned int n) { for(unsigned int i = 0; i < n; i++) { |