From 4de1569a424b25437d51dcbfbfd84ee9edf113f1 Mon Sep 17 00:00:00 2001 From: Kuntal Ghosh Date: Fri, 24 Mar 2017 11:10:51 +0530 Subject: [PATCH] Fix pg_dump for Windows cmd In Windows, force stdin/stdout in binary mode if any compression is needed, even in plain text-format. --- src/bin/pg_dump/pg_backup_archiver.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index dd08925..3eb0663 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -2336,12 +2336,12 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt, AH->OF = stdout; /* - * On Windows, we need to use binary mode to read/write non-text archive - * formats. Force stdin/stdout into binary mode if that is what we are - * using. + * On Windows, we need to use binary mode to read/write non-text + * archive/compressed formats. Force stdin/stdout into binary + * mode if that is what we are using. */ #ifdef WIN32 - if (fmt != archNull && + if ((fmt != archNull || compression > 0) && (AH->fSpec == NULL || strcmp(AH->fSpec, "") == 0)) { if (mode == archModeWrite) -- 1.8.3.1