1#include <wchar.h>
2
3wchar_t* wmemmove(wchar_t* d, const wchar_t* s, size_t n) {
4    wchar_t* d0 = d;
5    if ((size_t)(d - s) < n)
6        while (n--)
7            d[n] = s[n];
8    else
9        while (n--)
10            *d++ = *s++;
11    return d0;
12}
13