diff options
author | Marvin Borner | 2020-08-09 16:51:01 +0200 |
---|---|---|
committer | Marvin Borner | 2020-08-09 16:51:01 +0200 |
commit | 162d024a53e1e31e00ff0b6f47dd4590edebc551 (patch) | |
tree | 711d3886c300dfaddffdafaa89b690b45eb2101d /lib/mem.c | |
parent | 79f2fa136f26a0b87917336e089485712ee49bd6 (diff) |
Heavy restructuring of libc, kernel and apps
Diffstat (limited to 'lib/mem.c')
-rw-r--r-- | lib/mem.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/mem.c b/lib/mem.c new file mode 100644 index 0000000..00b9735 --- /dev/null +++ b/lib/mem.c @@ -0,0 +1,33 @@ +// MIT License, Copyright (c) 2020 Marvin Borner + +#include <def.h> + +void *memcpy(void *dst, const void *src, u32 n) +{ + const char *sp = (const char *)src; + char *dp = (char *)dst; + for (; n != 0; n--) + *dp++ = *sp++; + return dst; +} + +void *memset(void *dst, char val, u32 n) +{ + char *temp = (char *)dst; + for (; n != 0; n--) + *temp++ = val; + return dst; +} + +int memcmp(const void *s1, const void *s2, u32 n) +{ + const u8 *a = (const u8 *)s1; + const u8 *b = (const u8 *)s2; + for (u32 i = 0; i < n; i++) { + if (a[i] < b[i]) + return -1; + else if (b[i] < a[i]) + return 1; + } + return 0; +} |