. use library function to parse memory string
[minix3.git] / lib / ansi / memmove.c
blobe8d653993e567077967a540dfc4ba5d1d1532f44
1 /*
2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
4 */
5 /* $Header$ */
7 #include <string.h>
9 void *
10 memmove(void *s1, const void *s2, register size_t n)
12 register char *p1 = s1;
13 register const char *p2 = s2;
15 if (n>0) {
16 if (p2 <= p1 && p2 + n > p1) {
17 /* overlap, copy backwards */
18 p1 += n;
19 p2 += n;
20 n++;
21 while (--n > 0) {
22 *--p1 = *--p2;
24 } else {
25 n++;
26 while (--n > 0) {
27 *p1++ = *p2++;
31 return s1;