diff options
Diffstat (limited to 'lib/libc/string/strncpy.c')
| -rw-r--r-- | lib/libc/string/strncpy.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/libc/string/strncpy.c b/lib/libc/string/strncpy.c new file mode 100644 index 00000000..c43b88c8 --- /dev/null +++ b/lib/libc/string/strncpy.c @@ -0,0 +1,16 @@ +#include <stddef.h> + +char *strncpy(char *restrict s1, const char *restrict s2, size_t n) +{ + char *result = s1; + + while (n > 0 && *s2 != '\0') { + *s1++ = *s2++; + n--; + } + + if (n > 0) + *s1 = '\0'; + + return result; +} |
