summaryrefslogtreecommitdiff
path: root/userland/libc/string/strncpy.c
blob: fb89d380dbad9b74d562610ba8e25d923da3919f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <string.h>

char *strncpy(char *s1, const char *s2, size_t n) {
  char *rc = s1;
  for (; n > 0; s1++, s2++, n--) {
    *s1 = *s2;
    if (!*s2) {
      break;
    }
  }
  for (; n > 0; n--, s1++) {
    *s1 = '\0';
  }
  return rc;
}