LibC: add stubs for a lot of functions

This commit is contained in:
2023-04-05 23:58:40 +03:00
parent b6896a6d85
commit a5830c5424
9 changed files with 269 additions and 29 deletions

View File

@@ -15,7 +15,7 @@ int memcmp(const void* s1, const void* s2, size_t n)
return 0;
}
void* memcpy(void* __restrict dstp, const void* __restrict srcp, size_t n)
void* memcpy(void* __restrict__ dstp, const void* __restrict__ srcp, size_t n)
{
unsigned char* dst = static_cast<unsigned char*>(dstp);
const unsigned char* src = static_cast<const unsigned char*>(srcp);
@@ -61,7 +61,7 @@ int strcmp(const char* s1, const char* s2)
return *u1 - *u2;
}
char* strcpy(char* __restrict dest, const char* __restrict src)
char* strcpy(char* __restrict__ dest, const char* __restrict__ src)
{
size_t i;
for (i = 0; src[i]; i++)
@@ -70,6 +70,12 @@ char* strcpy(char* __restrict dest, const char* __restrict src)
return dest;
}
char* strcat(char* __restrict__ dest, const char* __restrict__ src)
{
strcpy(dest + strlen(src), src);
return dest;
}
char* strerror(int error)
{
static char buffer[100];
@@ -147,7 +153,18 @@ int strncmp(const char* s1, const char* s2, size_t n)
return *u1 - *u2;
}
char* strncpy(char* __restrict dest, const char* __restrict src, size_t n)
char* strchr(const char* str, int c)
{
while (*str)
{
if (*str == c)
return (char*)str;
str++;
}
return (*str == c) ? (char*)str : nullptr;
}
char* strncpy(char* __restrict__ dest, const char* __restrict__ src, size_t n)
{
size_t i;
for (i = 0; src[i] && i < n; i++)