Fix setvbuf()-induced crash in libpq_pipeline
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Apr 2021 19:25:46 +0000 (16:25 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Thu, 1 Apr 2021 19:25:51 +0000 (16:25 -0300)
commita68a894f0198aaeffa81b3027f135adcdaa8abf6
treeb2e1a7f22cf536507d1b980c3e3bc569f60c7ca3
parent3b6c1259f9ca8e21860aaf24ec6735a8e5598ea0
Fix setvbuf()-induced crash in libpq_pipeline

Windows doesn't like setvbuf(..., _IOLBF) and crashes if you use it,
which has been causing the libpq_pipeline failures all along ... and our
own port.h has known about it for a long time: it offers PG_IOLBF that's
defined to _IONBF on that platform.  Follow its advice.

While at it, get rid of a bogus bitshift that used a constant of the
wrong size.  Decorate the constant as LL to fix.  While at it, remove a
pointless addition that only confused matters.

All as diagnosed by Tom Lane.

Discussion: https://postgr.es/m/3458958.1617302154@sss.pgh.pa.us
src/test/modules/libpq_pipeline/libpq_pipeline.c