Use printf's %m format instead of strerror(errno) in more places

Most callers of strerror() are removed from the backend code.  The
remaining callers require special handling with a saved errno from a
previous system call.  The frontend code still needs strerror() where
error states need to be handled outside of fprintf.

Note that pg_regress is not changed to use %m as the TAP output may
clobber errno, since those functions call fprintf() and friends before
evaluating the format string.

Support for %m in src/port/snprintf.c has been added in d6c55de1f99a,
hence all the stable branches currently supported include it.

Author: Dagfinn Ilmari Mannsåker
Discussion: https://postgr.es/m/87sf13jhuw.fsf@wibble.ilmari.org
This commit is contained in:
Michael Paquier
2024-03-12 10:02:54 +09:00
parent 3045324214
commit 2c8118ee5d
24 changed files with 158 additions and 192 deletions

View File

@ -492,7 +492,7 @@ test_nosync(PGconn *conn)
tv.tv_usec = 0;
if (select(sock + 1, &input_mask, NULL, NULL, &tv) < 0)
{
fprintf(stderr, "select() failed: %s\n", strerror(errno));
fprintf(stderr, "select() failed: %m\n");
exit_nicely(conn);
}
if (FD_ISSET(sock, &input_mask) && PQconsumeInput(conn) != 1)
@ -943,7 +943,7 @@ test_pipelined_insert(PGconn *conn, int n_rows)
if (select(sock + 1, &input_mask, &output_mask, NULL, NULL) < 0)
{
fprintf(stderr, "select() failed: %s\n", strerror(errno));
fprintf(stderr, "select() failed: %m\n");
exit_nicely(conn);
}