From 3ee70a840a9f3e392219e61cc46c676487367177 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 11 Sep 2005 00:36:35 +0000 Subject: [PATCH] Avoid changing stdin/stdout to binary mode on Windows unless that is really the source or destination of the archive. I think this will resolve recent complaints that password prompting is broken in pg_restore on Windows. Note that password prompting and reading from stdin is an unworkable combination on Windows ... but that was true anyway. --- src/bin/pg_dump/pg_backup_archiver.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index fa4c11b69d..746dbe13f8 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -1601,11 +1601,12 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt, /* * On Windows, we need to use binary mode to read/write non-text archive - * formats. Force stdin/stdout into binary mode in case that is what + * formats. Force stdin/stdout into binary mode if that is what * we are using. */ #ifdef WIN32 - if (fmt != archNull) + if (fmt != archNull && + (AH->fSpec == NULL || strcmp(AH->fSpec, "") == 0)) { if (mode == archModeWrite) setmode(fileno(stdout), O_BINARY); -- 2.39.5