home *** CD-ROM | disk | FTP | other *** search
- /* 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--;
- }
- }
-