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); void* memset(void* dest, int c, size_t n);
int memcmp(const void* a, const void* b, size_t n); int memcmp(const void* a, const void* b, size_t n);
void* memmove(void* dest, void* src, 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) size_t strlen(const char* __s)
{ {
@ -122,3 +123,11 @@ void* memmove(void* dest, void* src, size_t n)
} }
return dest; 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;
}