bcopy.c revision 89857
1338085Skevans/* bcopy -- copy memory regions of arbitary length
2338085Skevans
3338085Skevans@deftypefn Supplemental void bcopy (char *@var{in}, char *@var{out}, int @var{length})
4338085Skevans
5338085SkevansCopies @var{length} bytes from memory region @var{in} to region
6338085Skevans@var{out}.  The use of @code{bcopy} is deprecated in new programs.
7338085Skevans
8338085Skevans@end deftypefn
9338085Skevans
10338085Skevans*/
11338085Skevans
12338085Skevansvoid
13338085Skevansbcopy (src, dest, len)
14338085Skevans  register char *src, *dest;
15338085Skevans  int len;
16338085Skevans{
17338085Skevans  if (dest < src)
18338085Skevans    while (len--)
19338085Skevans      *dest++ = *src++;
20338085Skevans  else
21338085Skevans    {
22338085Skevans      char *lasts = src + (len-1);
23338085Skevans      char *lastd = dest + (len-1);
24338085Skevans      while (len--)
25338085Skevans        *(char *)lastd-- = *(char *)lasts--;
26338085Skevans    }
27338085Skevans}
28338085Skevans