diff --git a/src/lib/libc/string/memcpy.c b/src/lib/libc/string/memcpy.c new file mode 100755 index 0000000..bbc25a0 --- /dev/null +++ b/src/lib/libc/string/memcpy.c @@ -0,0 +1,21 @@ + +void * memcpy(void * dst, const void * src, size_t length) +{ + size_t x = length / 4; + size_t y = length % 4; + size_t i; + + unsigned long * mSrc, * mDst; + + mSrc = (unsigned long *) src; + mDst = (unsigned long *) dst; + + for (i = 0; i < x; i++) + ((unsigned long *)dst)[i] = ((unsigned long *)src)[i]; + + for (i = 0; i < y; i++) + ((char *) dst)[length-y+i] = ((char *) dst)[lenght-y+i]; + + return dst; +} +