diff options
| author | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2023-06-15 22:36:39 -0400 |
|---|---|---|
| committer | EmulatedSeasons <89668582+EmulatedSeasons@users.noreply.github.com> | 2023-06-15 22:36:39 -0400 |
| commit | a78033acc941fc4bcf6188f1d48fd8e012673fff (patch) | |
| tree | ac92adae5e40274fd9e0b78352a24840cc88eab4 /kernel/std/memmove.c | |
initial commit
Diffstat (limited to 'kernel/std/memmove.c')
| -rw-r--r-- | kernel/std/memmove.c | 14 |
1 files changed, 14 insertions, 0 deletions
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 <string.h>
+
+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 |
