diff options
author | dzwdz | 2021-11-07 18:43:47 +0100 |
---|---|---|
committer | dzwdz | 2021-11-07 18:43:47 +0100 |
commit | 90cb50f15ee6e4016fcfc6345668046c68ae1f3d (patch) | |
tree | b3409b7bbbc3453c4d45bd2661c32dd1793b999a /src/init | |
parent | a1f87117fe8910ebf8e81d122b8e721de801b0bd (diff) |
init: add strcpy/memcpy
just copied straight over from the kernel's util.c
Diffstat (limited to 'src/init')
-rw-r--r-- | src/init/stdlib.c | 15 | ||||
-rw-r--r-- | src/init/stdlib.h | 2 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/init/stdlib.c b/src/init/stdlib.c index 5c6f45f..3d9d8c3 100644 --- a/src/init/stdlib.c +++ b/src/init/stdlib.c @@ -5,6 +5,21 @@ int __tty_fd; +void *memcpy(void *dest, const void *src, size_t n) { + char *d = dest; + const char *s = src; + for (size_t i = 0; i < n; i++) + d[i] = s[i]; + return dest; +} + +void *memset(void *s, int c, size_t n) { + uint8_t *s2 = s; + for (size_t i = 0; i < n; n++) + s2[i] = c; + return s; +} + int memcmp(const void *s1, const void *s2, size_t n) { const unsigned char *c1 = s1, *c2 = s2; for (size_t i = 0; i < n; i++) { diff --git a/src/init/stdlib.h b/src/init/stdlib.h index 8b71adf..5049a23 100644 --- a/src/init/stdlib.h +++ b/src/init/stdlib.h @@ -3,6 +3,8 @@ extern int __tty_fd; +void *memcpy(void *dest, const void *src, size_t n); +void *memset(void *s, int c, size_t n); int memcmp(const void *s1, const void *s2, size_t n); int strcmp(const char *s1, const char *s2); size_t strlen(const char *s); |