2022-10-02 16:10:53 +00:00
|
|
|
#include <luna.h>
|
2022-10-01 18:59:22 +00:00
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
void* memcpy(void* dest, const void* src, size_t n)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < n; ++i) { *((char*)dest + i) = *((char*)src + i); }
|
|
|
|
return dest;
|
|
|
|
}
|
|
|
|
|
|
|
|
void* memset(void* dest, int c, size_t n)
|
|
|
|
{
|
|
|
|
for (size_t i = 0; i < n; ++i) { *((char*)dest + i) = (char)c; }
|
|
|
|
return dest;
|
|
|
|
}
|
|
|
|
|
|
|
|
size_t strlen(const char* s)
|
|
|
|
{
|
|
|
|
const char* i = s;
|
|
|
|
for (; *i; ++i)
|
|
|
|
;
|
|
|
|
return (i - s);
|
|
|
|
}
|
|
|
|
|
|
|
|
char* strcpy(char* dest, const char* src)
|
|
|
|
{
|
|
|
|
memcpy(dest, src, strlen(src) + 1);
|
|
|
|
return dest;
|
|
|
|
}
|
|
|
|
|
|
|
|
char* strcat(char* dest, const char* src)
|
|
|
|
{
|
|
|
|
size_t dest_len = strlen(dest);
|
|
|
|
size_t i;
|
|
|
|
|
|
|
|
for (i = 0; *(src + i); i++) *(char*)(dest + dest_len + i) = *(char*)(src + i);
|
|
|
|
|
|
|
|
*(char*)(dest + dest_len + i) = '\0';
|
|
|
|
|
|
|
|
return dest;
|
|
|
|
}
|
|
|
|
|
|
|
|
char* strchr(const char*, int)
|
|
|
|
{
|
2022-10-02 16:10:53 +00:00
|
|
|
NOT_IMPLEMENTED("strchr");
|
2022-10-01 18:59:22 +00:00
|
|
|
}
|
|
|
|
}
|