1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 18:17:34 +00:00

Make the kernel's memset do a "rep stosb" because.

This commit is contained in:
Andreas Kling 2019-01-12 02:19:02 +01:00
parent 9bc7b128b2
commit fa6029eed0

View file

@ -18,12 +18,17 @@ void strcpy(char* dest, const char *src)
while ((*dest++ = *src++) != '\0'); while ((*dest++ = *src++) != '\0');
} }
void* memset(void* dest, byte c, dword n) void* memset(void* dest_ptr, byte c, dword n)
{ {
byte *bdest = (byte *)dest; dword dest = (dword)dest_ptr;
for (; n; --n) asm volatile(
*(bdest++) = c; "cld\n"
return dest; "rep stosb\n"
: "=D" (dest), "=c" (n)
: "0" (dest), "1" (n), "a" (c)
: "cc", "memory"
);
return dest_ptr;
} }
char* strrchr(const char* str, int ch) char* strrchr(const char* str, int ch)