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:
+12
-21
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user