#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;
}