Kernel/std: Add strdup()

This commit is contained in:
apio 2022-10-12 18:03:54 +02:00
parent 531afc3d6f
commit bcbf43e55c
2 changed files with 13 additions and 2 deletions

View File

@ -17,3 +17,5 @@ void* memcpy(void* dest, const void* src, size_t n);
void* memset(void* dest, int c, size_t n);
int memcmp(const void* a, const void* b, size_t n);
void* memmove(void* dest, void* src, size_t n);
char* strdup(const char* src);

View File

@ -1,4 +1,5 @@
#include <string.h>
#include "std/string.h"
#include "std/stdlib.h"
size_t strlen(const char* __s)
{
@ -122,3 +123,11 @@ void* memmove(void* dest, void* src, size_t n)
}
return dest;
}
char* strdup(const char* src)
{
size_t length = strlen(src);
char* duplicated = (char*)kmalloc(length + 1);
memcpy(duplicated, src, length + 1);
return duplicated;
}