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.
%{
/*
- * Copyright © 2021 Nick Bowler
+ * Copyright © 2021, 2023 Nick Bowler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
int w;
w = printf(" %s", stringpool+c->name);
- if (w < 0 || w > 13) {
+ if (w <= 0 || w > 13) {
putchar('\n');
w = 0;
}