diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2005-09-11 00:36:35 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2005-09-11 00:36:35 +0000 |
commit | 3e711451f17e12daa15bf492e01dff9e76244e21 (patch) | |
tree | 057de2e64bb39321d8b175becad8fae86ce53a37 | |
parent | 16acb8bfd3b60441863603605e05dbe24e6801dc (diff) | |
download | postgresql-3e711451f17e12daa15bf492e01dff9e76244e21.tar.gz postgresql-3e711451f17e12daa15bf492e01dff9e76244e21.zip |
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.
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 0487ce7f50c..9febb145683 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -15,7 +15,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.101.4.7 2005/05/17 17:30:41 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/pg_dump/pg_backup_archiver.c,v 1.101.4.8 2005/09/11 00:36:35 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1714,11 +1714,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); |