about summary refs log tree commit diff
path: root/src/string/memmove.c
blob: 9153a64476a97a64bfc1e0614276f91e18ebea73 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string.h>

void *memmove(void *dest, const void *src, size_t n)
{
	char *d = dest;
	const char *s = src;
	if (d==s) return d;
	if ((size_t)(d-s) < n)
		while (n--) d[n] = s[n];
	else
		while (n--) *d++ = *s++;
	return dest;
}