pg_regress: Save errno in emit_tap_output_v() and switch to %m

Michael Paquier <michael@paquier.xyz>

Commit: 85230a247c74b92d9676abdf6693ac9d56c373cf
Author: Michael Paquier <michael@paquier.xyz>
Date: 2024-04-04T02:33:07Z
Releases: 17.0
pg_regress: Save errno in emit_tap_output_v() and switch to %m

emit_tap_output_v() includes some fprintf() calls for some output
related to the TAP protocol, that may clobber errno and break %m.  This
commit makes the logging of pg_regress smarter by saving errno before
restoring it in vfprintf() where the input strings are used, removing
the need for strerror().  All logs are switched to %m rather than
strerror(), shaving some code.

This was not a problem until now as pg_regress.c did not use %m, but the
change is simple enough that we have no reason to not support this
placeholder, and that will avoid future mistakes if new logs that
include %m are added.

Author: Dagfinn Ilmari Mannsåker
Reviewed-by: Peter Eisentraunt, Michael Paquier
Discussion: https://postgr.es/m/87sf13jhuw.fsf@wibble.ilmari.org

Files

PathChange+/−
src/test/regress/pg_regress.c modified +34 −50

Discussion