Fix pg_basebackup output to stdout on Windows.

Heikki Linnakangas <heikki.linnakangas@iki.fi>

Commit: 240299806e90e633eb57c12098cce2d8d5246354
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: 2017-07-14T13:03:16Z
Releases: 9.4.13
Fix pg_basebackup output to stdout on Windows.

When writing a backup to stdout with pg_basebackup on Windows, put stdout
to binary mode. Any CR bytes in the output will otherwise be output
incorrectly as CR+LF.

In the passing, standardize on using "_setmode" instead of "setmode", for
the sake of consistency. They both do the same thing, but according to
MSDN documentation, setmode is deprecated.

Fixes bug #14634, reported by Henry Boehlert. Patch by Haribabu Kommi.
Backpatch to all supported versions.

Discussion: https://www.postgresql.org/message-id/20170428082818.24366.13134@wrigleys.postgresql.org

Files

Discussion