Re-allow building on Microsoft Visual Studio 2013.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 10 Nov 2022 15:23:49 +0000 (10:23 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 10 Nov 2022 15:23:49 +0000 (10:23 -0500)
commit0942acb73efcff1564f8d1b1ae890c8135467eae
tree654a8f19c5f438bb7e2754fbc5aed4dd71eb8fed
parent1949135e79e852e19958873203bf32691754faaa
Re-allow building on Microsoft Visual Studio 2013.

In commit 450ee7012 I supposed that all platforms we now care about have
snprintf(), since that's required by C99.  Turns out that Microsoft did
not get around to adding that until VS2015.  We've dropped support for
VS2013 as of HEAD (cf 6203583b7), but not in the back branches, so add
a hack for this in the back branches only.

There's no easy shortcut to an exact emulation of standard snprintf
in VS2013, but fortunately we don't need one: this code was just fine
with using sprintf before 450ee7012, so we can make it do so again
on that platform (and any others where the problem might crop up).

Per bug #17681 from Daisuke Higuchi.  Back-patch to v12, like the
previous patch.

Discussion: https://postgr.es/m/17681-485ba2ec13e7f392@postgresql.org
src/port/snprintf.c