From a78033acc941fc4bcf6188f1d48fd8e012673fff Mon Sep 17 00:00:00 2001 From: EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> Date: Thu, 15 Jun 2023 22:36:39 -0400 Subject: initial commit --- kernel/std/memmove.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 kernel/std/memmove.c (limited to 'kernel/std/memmove.c') diff --git a/kernel/std/memmove.c b/kernel/std/memmove.c new file mode 100644 index 0000000..98c787f --- /dev/null +++ b/kernel/std/memmove.c @@ -0,0 +1,14 @@ +#include + +void* memmove(void* dstptr, const void* srcptr, size_t size) { + unsigned char* dst = (unsigned char*) dstptr; + const unsigned char* src = (const unsigned char*) srcptr; + if (dst < src) { + for (size_t i = 0; i < size; i++) + dst[i] = src[i]; + } else { + for (size_t i = size; i != 0; i--) + dst[i-1] = src[i-1]; + } + return dstptr; +} \ No newline at end of file -- cgit v1.2.3-70-g09d2