diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-04-23 18:50:47 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-04-23 18:50:47 -0700 |
commit | f6fa219f1275b8a98c768d1f8593613ed85d5cfe (patch) | |
tree | 89b4848d4bd5a1fbdf9100f346c1583c657b341d /system/lib/libc/musl/memcpy.c | |
parent | 430dcb4c1533a7c2e9486a2bcbb4e0bda3025c0c (diff) | |
parent | 029c076151fb9cb47c54af53c52870ef0b620c5c (diff) |
Merge pull request #1063 from waywardmonkeys/musl-libc1.3.7
Add wchar and multibyte libc functions
Diffstat (limited to 'system/lib/libc/musl/memcpy.c')
-rw-r--r-- | system/lib/libc/musl/memcpy.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/system/lib/libc/musl/memcpy.c b/system/lib/libc/musl/memcpy.c deleted file mode 100644 index 8e98302f..00000000 --- a/system/lib/libc/musl/memcpy.c +++ /dev/null @@ -1,29 +0,0 @@ -#include <string.h> -#include <stdlib.h> -#include <stdint.h> - -#define SS (sizeof(size_t)) -#define ALIGN (sizeof(size_t)-1) -#define ONES ((size_t)-1/UCHAR_MAX) - -void *memcpy(void *restrict dest, const void *restrict src, size_t n) -{ - unsigned char *d = dest; - const unsigned char *s = src; - - if (((uintptr_t)d & ALIGN) != ((uintptr_t)s & ALIGN)) - goto misaligned; - - for (; ((uintptr_t)d & ALIGN) && n; n--) *d++ = *s++; - if (n) { - size_t *wd = (void *)d; - const size_t *ws = (const void *)s; - - for (; n>=SS; n-=SS) *wd++ = *ws++; - d = (void *)wd; - s = (const void *)ws; -misaligned: - for (; n; n--) *d++ = *s++; - } - return dest; -} |