add strcpy implementation

This commit is contained in:
Borna Šoštarić
2026-01-28 21:55:01 +01:00
parent 9d394d984b
commit bfc9911a85
2 changed files with 16 additions and 0 deletions

View File

@@ -10,5 +10,6 @@ extern void *memset(void *dst, int c, size_t n);
extern size_t strlen(const char *s); extern size_t strlen(const char *s);
extern int strcmp(const char *s1, const char *s2); extern int strcmp(const char *s1, const char *s2);
extern char *strncpy(char *dst, const char *src, size_t n);
#endif // CLASSICOS_KLIBC_STRING_H #endif // CLASSICOS_KLIBC_STRING_H

View File

@@ -106,3 +106,18 @@ int strcmp(const char *s1, const char *s2) {
return d; return d;
} }
char *strncpy(char *dst, const char *src, size_t n) {
char *q = dst;
const char *p = src;
char ch;
while (n) {
n--;
*q++ = ch = *p++;
if (!ch) break;
}
memset(q, 0, n);
return dst;
}