diff options
Diffstat (limited to '')
-rw-r--r-- | libk/string.c (renamed from kernel/string.c) | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/string.c b/libk/string.c index fa0fd3f..be59397 100644 --- a/kernel/string.c +++ b/libk/string.c @@ -1,4 +1,4 @@ -#include <kernel/string.h> +#include <libk/string.h> int memcmp(const void *str1, const void *str2, size_t n) { unsigned char const *p1 = str1; @@ -32,16 +32,15 @@ void* memcpy(void* __restrict dest, const void* __restrict src, size_t n) { } char* strncpy(char* __restrict dest, const char* __restrict src, size_t n) { - for (int i = 0; i < n; i++) { + for (size_t i = 0; i < n; i++) { if (src[i] == '\0') break; dest[i] = src[i]; } + return dest; } char* strcpy(char* __restrict dest, const char* __restrict src) { - if (strlen(src) > strlen(dest)) - return NULL; return (char*)memcpy(dest, src, strlen(src)); } @@ -49,6 +48,10 @@ char* strcat(char* __restrict dest, const char* __restrict src) { return (char*)memcpy(&dest[strlen(dest)], src, strlen(src)); } +char* strncat(char* __restrict dest, const char* __restrict src, size_t n) { + return (char*)memcpy(&dest[strlen(dest)], src, n); +} + void* memmove(void* __restrict dest, const void* __restrict src, size_t n) { if (dest == src) return dest; |