Merge pull request #117 from gbowne1/klibc-strncpy

[klibc] implment strncpy function
This commit is contained in:
2026-02-03 10:54:06 -08:00
committed by GitHub
2 changed files with 48 additions and 31 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 int strcmp(const char *s1, const char *s2);
extern char *strncpy(char *dst, const char *src, size_t n);
#endif // CLASSICOS_KLIBC_STRING_H

View File

@@ -105,3 +105,19 @@ int strcmp(const char* s1, const char* s2) {
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;
}