Fix omissions in snprintf.c's coverage of standard *printf functions.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 7767aadd94cd252a12fa00f6122ad4dd10455791
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2018-10-08T23:15:55Z
Releases: 12.0
Fix omissions in snprintf.c's coverage of standard *printf functions.

A warning on a NetBSD box revealed to me that pg_waldump/compat.c
is using vprintf(), which snprintf.c did not provide coverage for.
This is not good if we want to have uniform *printf behavior, and
it's pretty silly to omit when it's a one-line function.

I also noted that snprintf.c has pg_vsprintf() but for some reason
it was not exposed to the outside world, creating another way in
which code might accidentally invoke the platform *printf family.

Let's just make sure that we replace all eight of the POSIX-standard
printf family.

Also, upgrade plperl.h and plpython.h to make sure that they do
their undefine/redefine rain dance for all eight, not some random
maybe-sufficient subset thereof.

Files

PathChange+/−
src/include/port.h modified +10 −0
src/pl/plperl/plperl.h modified +35 −5
src/pl/plpython/plpython.h modified +37 −6
src/port/snprintf.c modified +9 −1