merge from gcc
[platform/upstream/binutils.git] / libiberty / memmove.c
1 /* Wrapper to implement ANSI C's memmove using BSD's bcopy. */
2 /* This function is in the public domain.  --Per Bothner. */
3
4 /*
5
6 @deftypefn Supplemental void* memmove (void *@var{from}, const void *@var{to}, size_t @var{count})
7
8 Copies @var{count} bytes from memory area @var{from} to memory area
9 @var{to}, returning a pointer to @var{to}.
10
11 @end deftypefn
12
13 */
14
15 #include <ansidecl.h>
16 #ifdef ANSI_PROTOTYPES
17 #include <stddef.h>
18 #else
19 #define size_t unsigned long
20 #endif
21
22 void bcopy PARAMS ((const void*, void*, size_t));
23
24 PTR
25 memmove (s1, s2, n)
26      PTR s1;
27      const PTR s2;
28      size_t n;
29 {
30   bcopy (s2, s1, n);
31   return s1;
32 }