1/* memmove -- copy memory regions of arbitary length
2   Copyright (C) 1991 Free Software Foundation, Inc.
3
4This file is part of the libiberty library.
5Libiberty is free software; you can redistribute it and/or
6modify it under the terms of the GNU Library General Public
7License as published by the Free Software Foundation; either
8version 2 of the License, or (at your option) any later version.
9
10Libiberty is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13Library General Public License for more details.
14
15*/
16
17
18/*
19
20NAME
21
22	memmove -- copy memory regions of arbitary length
23
24SYNOPSIS
25
26	void memmove (void *out, const void *in, size_t n);
27
28DESCRIPTION
29
30	Copy LENGTH bytes from memory region pointed to by IN to memory
31	region pointed to by OUT.
32
33	Regions can be overlapping.
34*/
35
36#ifdef HAVE_CONFIG_H
37#include "config.h"
38#endif
39
40#ifdef __STDC__
41#include <stddef.h>
42#else
43#define size_t unsigned long
44#endif
45
46void *
47memmove (out, in, length)
48     void *out;
49     const void* in;
50     size_t length;
51{
52    bcopy(in, out, length);
53    return out;
54}
55