void copy(char to[], char from[])
{
int i = 0;
// while loop will not end if from isn't '\0' terminated
while ((to[i] = from[i]) != '\0') {
++i;
}
}
int safercopy(int from_len, char *from, int to_len, char *to)
{
int i = 0;
int max = from_len > to_len - 1 ? to_len - 1 : from_len;
// to_len must have at least 1 byte
if (from_len < 0 || to_len <= 0)
return -1;
for (i = 0; i < max; i++) {
to[i] = from[i];
}
to[to_len - 1] = '\0';
return i;
}