From 07530dd08e0b29573712b54543a7fc42672bb34b Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Wed, 18 Dec 2019 17:59:22 +0100 Subject: Added very basic command support --- src/userspace/mlibc/string/memcmp.c | 14 ++++++++++++++ src/userspace/mlibc/string/memcpy.c | 9 +++++++++ src/userspace/mlibc/string/memset.c | 8 ++++++++ 3 files changed, 31 insertions(+) create mode 100644 src/userspace/mlibc/string/memcmp.c create mode 100644 src/userspace/mlibc/string/memcpy.c create mode 100644 src/userspace/mlibc/string/memset.c (limited to 'src/userspace/mlibc/string') diff --git a/src/userspace/mlibc/string/memcmp.c b/src/userspace/mlibc/string/memcmp.c new file mode 100644 index 0000000..af2125c --- /dev/null +++ b/src/userspace/mlibc/string/memcmp.c @@ -0,0 +1,14 @@ +#include + +int memcmp(const void *a_ptr, const void *b_ptr, size_t size) +{ + const unsigned char *a = (const unsigned char *) a_ptr; + const unsigned char *b = (const unsigned char *) b_ptr; + for (size_t i = 0; i < size; i++) { + if (a[i] < b[i]) + return -1; + else if (b[i] < a[i]) + return 1; + } + return 0; +} \ No newline at end of file diff --git a/src/userspace/mlibc/string/memcpy.c b/src/userspace/mlibc/string/memcpy.c new file mode 100644 index 0000000..e4e9c76 --- /dev/null +++ b/src/userspace/mlibc/string/memcpy.c @@ -0,0 +1,9 @@ +#include + +void *memcpy(void *dest, const void *src, size_t count) +{ + const char *sp = (const char *) src; + char *dp = (char *) dest; + for (; count != 0; count--) *dp++ = *sp++; + return dest; +} \ No newline at end of file diff --git a/src/userspace/mlibc/string/memset.c b/src/userspace/mlibc/string/memset.c new file mode 100644 index 0000000..fb5ab80 --- /dev/null +++ b/src/userspace/mlibc/string/memset.c @@ -0,0 +1,8 @@ +#include + +void *memset(void *dest, char val, size_t count) +{ + char *temp = (char *) dest; + for (; count != 0; count--) *temp++ = val; + return dest; +} \ No newline at end of file -- cgit v1.2.3