diff --git a/src/lib/libc/string/memset.c b/src/lib/libc/string/memset.c new file mode 100755 index 0000000..270497e --- /dev/null +++ b/src/lib/libc/string/memset.c @@ -0,0 +1,20 @@ +#include +#include + +void * memset(void * dst, int c, size_t length) +{ + size_t x = length / 4; + size_t y = length % 4; + size_t i; + + unsigned int newC = (c << 24) | (c << 16) | (c << 8) | (c); + + for (i = 0; i < x; i++) + ((unsigned long *)dst)[i] = newC; + + for (i = 0; i < y; i++) + ((char *) dst)[length-y+i] = c; + + return dst; +} +