1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-07-25 18:19:00 +02:00

Get new copy from FSF.

This commit is contained in:
Jim Meyering
1995-07-30 05:30:04 +00:00
parent ea4cda6907
commit 4aa1e2f2e8
+12 -21
View File
@@ -1,25 +1,16 @@
/* memcpy.c -- copy memory.
Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate.
The source and destination regions may not overlap.
In the public domain.
By Jim Meyering. */
/* Copy LEN bytes starting at SRCADDR to DESTADDR. Result undefined
if the source overlaps with the destination.
Return DESTADDR. */
/* FIXME: remove this before release. */
#include <assert.h>
#ifndef ABS
# define ABS(x) ((x) < 0 ? (-(x)) : (x))
#endif
void
memcpy (dest, source, length)
char *dest;
const char *source;
unsigned length;
char *
memcpy (destaddr, srcaddr, len)
char *destaddr;
const char *srcaddr;
int len;
{
assert (length >= 0);
/* Make sure they don't overlap. */
assert (ABS (dest - source) >= length);
char *dest = destaddr;
for (; length; --length)
*dest++ = *source++;
while (len-- > 0)
*destaddr++ = *srcaddr++;
return dest;
}