Re: Modernizing pg_bsd_indent's error/warning reporting code - Mailing list pgsql-hackers

From Ayush Tiwari
Subject Re: Modernizing pg_bsd_indent's error/warning reporting code
Date
Msg-id CAJTYsWUPaHmx81ejgAP6BL-eT0xe1JzfvQneMMCmPZpcB59n9Q@mail.gmail.com
Whole thread
In response to Modernizing pg_bsd_indent's error/warning reporting code  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Modernizing pg_bsd_indent's error/warning reporting code
List pgsql-hackers
Hi,

On Fri, 12 Jun 2026 at 22:29, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Buildfarm member greenfly has recently started to warn about
some very hoary code in pg_bsd_indent [1]:

../pgsql/src/tools/pg_bsd_indent/io.c:562:27: warning: diagnostic behavior may be improved by adding the 'format(printf, 2, 3)' attribute to the declaration of 'diag4' [-Wmissing-format-attribute]
  562 |         fprintf(stdout, msg, a, b);
      |                                  ^
../pgsql/src/tools/pg_bsd_indent/io.c:579:24: warning: diagnostic behavior may be improved by adding the 'format(printf, 2, 3)' attribute to the declaration of 'diag3' [-Wmissing-format-attribute]
  579 |         fprintf(stdout, msg, a);
      |                               ^

This is not an unreasonable suggestion, and presumably more people
will start seeing this as they adopt newer clang versions.  (I see
the same on Fedora 44, for instance.)  So I think we ought to take
the advice, and while we're at it let's convert this code to use
varargs instead of several duplicative functions.  Patch attached.

Patch looks good to me,

Just a minor comment, while we are at it, should we change
the %zd to %zu for nitems since it looks like it uses size_t?

Regards,
Ayush

pgsql-hackers by date:

Previous
From: Ayush Tiwari
Date:
Subject: Re: Do quoting more carefully in replication commands
Next
From: Sami Imseih
Date:
Subject: Re: mxid_score can become Infinity in pg_stat_autovacuum_scores