meta: move photon/libc to root
This commit is contained in:
28
libc/string/memset.c
Normal file
28
libc/string/memset.c
Normal file
@@ -0,0 +1,28 @@
|
||||
#include <stddef.h>
|
||||
|
||||
void *memset(void *ptr, int value, size_t sz)
|
||||
{
|
||||
value = (unsigned char)value;
|
||||
unsigned int realval =
|
||||
value |
|
||||
(value << 8) |
|
||||
(value << 16) |
|
||||
(value << 24);
|
||||
|
||||
unsigned char *buf = ptr;
|
||||
size_t i = 0;
|
||||
for (i = 0; i < sz; i += sizeof(unsigned int)) {
|
||||
unsigned int *t = (unsigned int *)&buf[i];
|
||||
*t = realval;
|
||||
}
|
||||
|
||||
if (sz % sizeof(unsigned int)) {
|
||||
i -= sizeof(unsigned int);
|
||||
|
||||
while (i < sz) {
|
||||
buf[i++] = value;
|
||||
}
|
||||
}
|
||||
|
||||
return ptr;
|
||||
}
|
||||
Reference in New Issue
Block a user