diff options
Diffstat (limited to 'lib/libc/string/memmove.c')
-rw-r--r-- | lib/libc/string/memmove.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/libc/string/memmove.c b/lib/libc/string/memmove.c new file mode 100644 index 0000000..16be329 --- /dev/null +++ b/lib/libc/string/memmove.c @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * linux/lib/string.c + * + * Copyright (C) 1991, 1992 Linus Torvalds + */ +#include <string.h> + +void *memmove(void *dest, const void *src, size_t count) +{ + char *tmp; + const char *s; + + if (dest <= src) { + tmp = dest; + s = src; + while (count--) + *tmp++ = *s++; + } else { + tmp = dest; + tmp += count; + s = src; + s += count; + while (count--) + *--tmp = *--s; + } + return dest; +} |