diff options
Diffstat (limited to 'gnulib/lib/bcopy.c')
m--------- | gnulib | 0 | ||||
-rw-r--r-- | gnulib/lib/bcopy.c | 23 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gnulib b/gnulib deleted file mode 160000 -Subproject 443bc5ffcf7429e557f4a371b0661abe98ddbc1 diff --git a/gnulib/lib/bcopy.c b/gnulib/lib/bcopy.c new file mode 100644 index 0000000..c3e8caa --- /dev/null +++ b/gnulib/lib/bcopy.c @@ -0,0 +1,23 @@ +/* bcopy.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>. */ + +#include <config.h> + +#include <stddef.h> + +void +bcopy (void const *source0, void *dest0, size_t length) +{ + char const *source = source0; + char *dest = dest0; + 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++; +} |