2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2024-12-23 11:39:32 +08:00
gcc/libiberty/bcopy.c
Jason Merrill 6599da043e Initial revision
From-SVN: r14877
1997-08-21 18:57:35 -04:00

36 lines
711 B
C

/* bcopy -- copy memory regions of arbitary length
NAME
bcopy -- copy memory regions of arbitrary length
SYNOPSIS
void bcopy (char *in, char *out, int length)
DESCRIPTION
Copy LENGTH bytes from memory region pointed to by IN to memory
region pointed to by OUT.
BUGS
Significant speed improvements can be made in some cases by
implementing copies of multiple bytes simultaneously, or unrolling
the copy loop.
*/
void
bcopy (src, dest, len)
register char *src, *dest;
int len;
{
if (dest < src)
while (len--)
*dest++ = *src++;
else
{
char *lasts = src + (len-1);
char *lastd = dest + (len-1);
while (len--)
*(char *)lastd-- = *(char *)lasts--;
}
}