1/* Public domain.  */
2#include <stddef.h>
3
4void *
5memmove (void *dest, const void *src, size_t len)
6{
7  char *d = dest;
8  const char *s = src;
9  if (d < s)
10    while (len--)
11      *d++ = *s++;
12  else
13    {
14      char *lasts = s + (len-1);
15      char *lastd = d + (len-1);
16      while (len--)
17        *lastd-- = *lasts--;
18    }
19  return dest;
20}
21