Annotation of embedaddon/libiconv/srclib/memmove.c, revision 1.1.1.2
1.1 misho 1: /* memmove.c -- copy memory.
2: Copy LENGTH bytes from SOURCE to DEST. Does not null-terminate.
3: In the public domain.
4: By David MacKenzie <djm@gnu.ai.mit.edu>. */
5:
6: #include <config.h>
7:
8: #include <stddef.h>
9:
10: void *
11: memmove (void *dest0, void const *source0, size_t length)
12: {
13: char *dest = dest0;
14: char const *source = source0;
15: if (source < dest)
16: /* Moving from low mem to hi mem; start at end. */
17: for (source += length, dest += length; length; --length)
18: *--dest = *--source;
19: else if (source != dest)
20: {
21: /* Moving from hi mem to low mem; start at beginning. */
22: for (; length; --length)
1.1.1.2 ! misho 23: *dest++ = *source++;
1.1 misho 24: }
25: return dest0;
26: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>