diff options
-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); |