Fix pg_basebackup output to stdout on Windows.
authorHeikki Linnakangas
Fri, 14 Jul 2017 13:02:53 +0000 (16:02 +0300)
committerHeikki Linnakangas
Fri, 14 Jul 2017 13:03:12 +0000 (16:03 +0300)
commitf20d58a6f7b68b731c94a639e4c0802e8a0acb5b
treec446c2d9cbcee0fe0e0b69959fac9a85bf152dc5
parent3fbebd781a44578fe79867af0d04d3803ee6fba6
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[email protected]
src/bin/pg_basebackup/pg_basebackup.c
src/bin/pg_dump/pg_backup_archiver.c