diff options
Diffstat (limited to 'memory/memmove.c')
-rw-r--r-- | memory/memmove.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/memory/memmove.c b/memory/memmove.c new file mode 100644 index 0000000..b3a2f08 --- /dev/null +++ b/memory/memmove.c @@ -0,0 +1,13 @@ +#include "memory.h" + +void *memmove(void *restrict dest, void const *restrict src, size_t count) +{ + unsigned char *restrict destination = dest; + unsigned char const *restrict source = src; + if (destination < source) + memcpy(destination, source, count); + else + for (size_t i = count; i-- > 0;) + destination[i] = source[i]; + return destination; +} |