Respond to the default string precision.

When printing char arrays, no longer count the length when
precision < 0.
Style change.

When an `if` branch is not an error/special case, explicitly use
an `else` branch instead of rely on the return flow.