diff options
author | Jim Meyering <jim@meyering.net> | 1995-03-12 18:21:38 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1995-03-12 18:21:38 +0000 |
commit | 512ba8f4f8cd29b154fc3ddf064276f0db9fd294 (patch) | |
tree | 59029a6a385047f3f6ab15fdd1ab388726f7543d /lib/memcpy.c | |
parent | fc929d146675da0cda2d142e3d9a2b5616fd2aab (diff) | |
download | gnulib-512ba8f4f8cd29b154fc3ddf064276f0db9fd294.tar.gz |
.
Diffstat (limited to 'lib/memcpy.c')
-rw-r--r-- | lib/memcpy.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/memcpy.c b/lib/memcpy.c new file mode 100644 index 0000000000..a1f8b8f2b5 --- /dev/null +++ b/lib/memcpy.c @@ -0,0 +1,25 @@ +/* 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. */ + +/* 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; +{ + assert (length >= 0); + /* Make sure they don't overlap. */ + assert (ABS (dest - source) >= length); + + for (; length; --length) + *dest++ = *source++; +} |