Annotation of embedaddon/libiconv/srclib/memmove.c, revision 1.1
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)
! 23: *dest++ = *source++;
! 24: }
! 25: return dest0;
! 26: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>