Commit e1a7d1b9 authored by Tom Lane's avatar Tom Lane

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.
parent d1348895
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.114 2005/08/23 22:40:31 tgl Exp $ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.115 2005/09/11 00:36:14 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1601,11 +1601,12 @@ _allocAH(const char *FileSpec, const ArchiveFormat fmt, ...@@ -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 * 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. * we are using.
*/ */
#ifdef WIN32 #ifdef WIN32
if (fmt != archNull) if (fmt != archNull &&
(AH->fSpec == NULL || strcmp(AH->fSpec, "") == 0))
{ {
if (mode == archModeWrite) if (mode == archModeWrite)
setmode(fileno(stdout), O_BINARY); setmode(fileno(stdout), O_BINARY);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment