summaryrefslogtreecommitdiff
path: root/src/init
diff options
context:
space:
mode:
authordzwdz2021-11-14 17:46:20 +0100
committerdzwdz2021-11-14 17:46:20 +0100
commit7acf810e81491b08410df1b7bb886bd11b44cd98 (patch)
treed05378fea8e7e11a6db90369c165988752a18557 /src/init
parent714b3dce9016f699f8842d792075555077fd4d31 (diff)
shared: use a single implementation of mem* functions everywhere
Diffstat (limited to 'src/init')
-rw-r--r--src/init/stdlib.c26
-rw-r--r--src/init/stdlib.h4
2 files changed, 1 insertions, 29 deletions
diff --git a/src/init/stdlib.c b/src/init/stdlib.c
index 3d9d8c3..c83440f 100644
--- a/src/init/stdlib.c
+++ b/src/init/stdlib.c
@@ -5,32 +5,6 @@
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++) {
- if (c1[i] != c2[i]) {
- if (c1[i] < c2[i]) return -1;
- else return 1;
- }
- }
- return 0;
-}
-
int strcmp(const char *s1, const char *s2) {
while (*s1) {
if (*s1 != *s2) {
diff --git a/src/init/stdlib.h b/src/init/stdlib.h
index 5049a23..af0788b 100644
--- a/src/init/stdlib.h
+++ b/src/init/stdlib.h
@@ -1,11 +1,9 @@
#pragma once
+#include <shared/mem.h>
#include <stddef.h>
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);
int printf(const char *fmt, ...);