1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:37:35 +00:00

More LibC portability work while trying to get figlet building.

This commit is contained in:
Andreas Kling 2018-10-31 10:14:56 +01:00
parent bb90c8ecab
commit 9160fd0d47
12 changed files with 128 additions and 2 deletions

View file

@ -40,6 +40,53 @@ void memcpy(void* dest, const void* src, size_t n)
*(bdest++) = *(bsrc++);
}
char* strcpy(char* dest, const char *src)
{
char* originalDest = dest;
while ((*dest++ = *src++) != '\0');
return originalDest;
}
char* strncpy(char* dest, const char* src, size_t n)
{
size_t i;
for (i = 0; i < n && src[i] != '\0'; ++i)
dest[i] = src[i];
for ( ; i < n; ++i)
dest[i] = '\0';
return dest;
}
char* strchr(const char* str, int c)
{
if (!str)
return nullptr;
char* ptr = (char*)str;
while (*ptr != c)
++ptr;
return ptr;
}
char* strcat(char *dest, const char *src)
{
size_t destLength = strlen(dest);
size_t i;
for (i = 0 ; src[i] != '\0' ; i++)
dest[destLength + i] = src[i];
dest[destLength + i] = '\0';
return dest;
}
char* strncat(char *dest, const char *src, size_t n)
{
size_t destLength = strlen(dest);
size_t i;
for (i = 0 ; i < n && src[i] != '\0' ; i++)
dest[destLength + i] = src[i];
dest[destLength + i] = '\0';
return dest;
}
const char* strerror(int errnum)
{
switch (errnum) {