diff options
author | Jim Meyering <jim@meyering.net> | 1995-01-27 19:32:16 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1995-01-27 19:32:16 +0000 |
commit | 19765460626c97d68cf9f7399891c453d91249b0 (patch) | |
tree | 06ce01fba3439810fe8d851e17133e180051888d /lib/memmove.c | |
parent | fedcb631367ffd7c0f34b8406a932aaba1ddb7b0 (diff) | |
download | coreutils-19765460626c97d68cf9f7399891c453d91249b0.tar.xz |
.
Diffstat (limited to 'lib/memmove.c')
-rw-r--r-- | lib/memmove.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/memmove.c b/lib/memmove.c new file mode 100644 index 000000000..d9d9e077e --- /dev/null +++ b/lib/memmove.c @@ -0,0 +1,19 @@ +/* memmove.c -- copy memory. + Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate. + In the public domain. + By David MacKenzie <djm@gnu.ai.mit.edu>. */ + +void +memmove (dest, source, length) + char *dest, *source; + unsigned length; +{ + if (source < dest) + /* Moving from low mem to hi mem; start at end. */ + for (source += length, dest += length; length; --length) + *--dest = *--source; + else if (source != dest) + /* Moving from hi mem to low mem; start at beginning. */ + for (; length; --length) + *dest++ = *source++; +} |