Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitef3f7c3

Browse files
committed
Avoid trying to open /dev/tty on Win32. Some Win32 systems have
/dev/tty, but it isn't a device file and doesn't work as expected.This fixes a known bug where psql does not prompt for a password on someWin32 systems.Backpatch to 8.1.X.Robert Kinberg
1 parentdecdaf3 commitef3f7c3

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

‎src/bin/psql/command.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* Copyright (c) 2000-2005, PostgreSQL Global Development Group
55
*
6-
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.161 2006/02/12 04:04:32 momjian Exp $
6+
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.162 2006/03/03 23:49:12 momjian Exp $
77
*/
88
#include"postgres_fe.h"
99
#include"command.h"
@@ -753,8 +753,11 @@ exec_command(const char *cmd,
753753

754754
expand_tilde(&fname);
755755
/* This scrolls off the screen when using /dev/tty */
756+
#ifndefWIN32
756757
success=saveHistory(fname ?fname :"/dev/tty");
757-
758+
#else
759+
success=saveHistory(fname ?fname :stderr);
760+
#endif
758761
if (success&& !quiet&&fname)
759762
printf(gettext("Wrote history to file \"%s/%s\".\n"),
760763
pset.dirname ?pset.dirname :".",fname);

‎src/port/sprompt.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.12 2005/10/15 02:49:51 momjian Exp $
11+
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.13 2006/03/03 23:49:12 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -40,8 +40,8 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
4040
{
4141
intlength;
4242
char*destination;
43-
FILE*termin,
44-
*termout;
43+
FILE*termin=NULL,
44+
*termout=NULL;
4545

4646
#ifdefHAVE_TERMIOS_H
4747
structtermiost_orig,
@@ -63,8 +63,14 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
6363
* Do not try to collapse these into one "w+" mode file. Doesn't work on
6464
* some platforms (eg, HPUX 10.20).
6565
*/
66+
#ifndefWIN32
67+
/*
68+
*Some win32 platforms actually have a /dev/tty file, but it isn't
69+
*a device file, and it doesn't work as expected, so we avoid trying.
70+
*/
6671
termin=fopen("/dev/tty","r");
6772
termout=fopen("/dev/tty","w");
73+
#endif
6874
if (!termin|| !termout)
6975
{
7076
if (termin)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp