When you write such code your mental model is C strings, not fixed-width strings, the intended use case for strncpy.