bcopy.c revision 33965
1/* bcopy -- copy memory regions of arbitary length 2 3NAME 4 bcopy -- copy memory regions of arbitrary length 5 6SYNOPSIS 7 void bcopy (char *in, char *out, int length) 8 9DESCRIPTION 10 Copy LENGTH bytes from memory region pointed to by IN to memory 11 region pointed to by OUT. 12 13BUGS 14 Significant speed improvements can be made in some cases by 15 implementing copies of multiple bytes simultaneously, or unrolling 16 the copy loop. 17 18*/ 19 20void 21bcopy (src, dest, len) 22 register char *src, *dest; 23 int len; 24{ 25 if (dest < src) 26 while (len--) 27 *dest++ = *src++; 28 else 29 { 30 char *lasts = src + (len-1); 31 char *lastd = dest + (len-1); 32 while (len--) 33 *(char *)lastd-- = *(char *)lasts--; 34 } 35} 36