OSDN Git Service

merge from gcc
[pf3gnuchains/pf3gnuchains4x.git] / libiberty / bcopy.c
1 /* bcopy -- copy memory regions of arbitary length
2
3 @deftypefn Supplemental void bcopy (char *@var{in}, char *@var{out}, int @var{length})
4
5 Copies @var{length} bytes from memory region @var{in} to region
6 @var{out}.  The use of @code{bcopy} is deprecated in new programs.
7
8 @end deftypefn
9
10 */
11
12 void
13 bcopy (register char *src, register char *dest, int len)
14 {
15   if (dest < src)
16     while (len--)
17       *dest++ = *src++;
18   else
19     {
20       char *lasts = src + (len-1);
21       char *lastd = dest + (len-1);
22       while (len--)
23         *(char *)lastd-- = *(char *)lasts--;
24     }
25 }