summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/string/wmemmove.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/src/string/wmemmove.c')
-rw-r--r--libc-top-half/musl/src/string/wmemmove.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/string/wmemmove.c b/libc-top-half/musl/src/string/wmemmove.c
new file mode 100644
index 0000000..964c903
--- /dev/null
+++ b/libc-top-half/musl/src/string/wmemmove.c
@@ -0,0 +1,13 @@
+#include <wchar.h>
+#include <stdint.h>
+
+wchar_t *wmemmove(wchar_t *d, const wchar_t *s, size_t n)
+{
+ wchar_t *d0 = d;
+ if (d == s) return d;
+ if ((uintptr_t)d-(uintptr_t)s < n * sizeof *d)
+ while (n--) d[n] = s[n];
+ else
+ while (n--) *d++ = *s++;
+ return d0;
+}