Fix setvbuf()-induced crash in libpq_pipeline

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: a68a894f0198aaeffa81b3027f135adcdaa8abf6
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2021-04-01T19:25:51Z
Releases: 14.0
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

Files

Discussion