]> git.draconx.ca Git - cdecl99.git/commitdiff
cdecl99: Better "help" output on some old systems.
authorNick Bowler <nbowler@draconx.ca>
Thu, 7 Dec 2023 02:35:26 +0000 (21:35 -0500)
committerNick Bowler <nbowler@draconx.ca>
Thu, 7 Dec 2023 02:35:26 +0000 (21:35 -0500)
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.

src/execute.gperf

index bf9a080748764b886117152b01fbaa9cb36c1c8d..a45413d69f7466019c87e8793e04fb5114d1eb9b 100644 (file)
@@ -1,6 +1,6 @@
 %{
 /*
- * 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
@@ -72,7 +72,7 @@ static int run_cmd_help(void)
                int w;
 
                w = printf("  %s", stringpool+c->name);
-               if (w < 0 || w > 13) {
+               if (w <= 0 || w > 13) {
                        putchar('\n');
                        w = 0;
                }