Some very old printf implementations return 0 on success instead of the
number of bytes written. We should never see a return of 0 normally,
so we can improve the output to be less of a garbled mess by printing
a newline if that happens (same as the error case). This is a simple
tweak that should have virtually no impact on modern systems.