30801f2d1c44db8c54bc45d6d2fdf37fad2b63e6
[external/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 (const void*, void*, size_t);
23
24 PTR
25 memmove (PTR s1, const PTR s2, size_t n)
26 {
27   bcopy (s2, s1, n);
28   return s1;
29 }