strncmp corner case

Should always be 0 when n = 0.
    while (n && *s1 && *s1 == *s2)