aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2006-03-04 04:30:51 +0000
committerBruce Momjian <bruce@momjian.us>2006-03-04 04:30:51 +0000
commitcff68063de57820eb8fe9d9f730468df6bab5969 (patch)
tree515884d7cca51fb822b41caa15330da4f0e2fa1b
parente57415c507a9762ed86938f39a00c6e9b607e9b7 (diff)
downloadpostgresql-cff68063de57820eb8fe9d9f730468df6bab5969.tar.gz
postgresql-cff68063de57820eb8fe9d9f730468df6bab5969.zip
Use DEVTTY as 'con' on Win32 as a replacement for /dev/tty.
-rw-r--r--src/bin/psql/command.c8
-rw-r--r--src/include/port.h5
-rw-r--r--src/port/sprompt.c16
3 files changed, 11 insertions, 18 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index b06e1db6175..40a4a0524e4 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2005, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.154.2.2 2006/03/03 23:49:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.154.2.3 2006/03/04 04:30:51 momjian Exp $
*/
#include "postgres_fe.h"
#include "command.h"
@@ -659,11 +659,7 @@ exec_command(const char *cmd,
expand_tilde(&fname);
/* This scrolls off the screen when using /dev/tty */
-#ifndef WIN32
- success = saveHistory(fname ? fname : "/dev/tty");
-#else
- success = saveHistory(fname ? fname : stderr);
-#endif
+ success = saveHistory(fname ? fname : DEVTTY);
if (success && !quiet && fname)
printf(gettext("Wrote history to file \"%s/%s\".\n"),
pset.dirname ? pset.dirname : ".", fname);
diff --git a/src/include/port.h b/src/include/port.h
index 13885c74b76..b8ddd38f9f3 100644
--- a/src/include/port.h
+++ b/src/include/port.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/port.h,v 1.84.2.3 2005/12/06 18:35:36 momjian Exp $
+ * $PostgreSQL: pgsql/src/include/port.h,v 1.84.2.4 2006/03/04 04:30:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -84,8 +84,11 @@ extern int find_other_exec(const char *argv0, const char *target,
#if defined(WIN32) && !defined(__CYGWIN__)
#define DEVNULL "nul"
+/* "con" does not work from the MinGW 1.0.10 console. */
+#define DEVTTY "con"
#else
#define DEVNULL "/dev/null"
+#define DEVTTY "/dev/tty"
#endif
/*
diff --git a/src/port/sprompt.c b/src/port/sprompt.c
index 8e548cc3102..98b712bda2e 100644
--- a/src/port/sprompt.c
+++ b/src/port/sprompt.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/port/sprompt.c,v 1.12.2.1 2006/03/03 23:49:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/port/sprompt.c,v 1.12.2.2 2006/03/04 04:30:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -40,8 +40,8 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
{
int length;
char *destination;
- FILE *termin = NULL,
- *termout = NULL;
+ FILE *termin,
+ *termout;
#ifdef HAVE_TERMIOS_H
struct termios t_orig,
@@ -63,14 +63,8 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
* Do not try to collapse these into one "w+" mode file. Doesn't work on
* some platforms (eg, HPUX 10.20).
*/
-#ifndef WIN32
- /*
- * Some win32 platforms actually have a /dev/tty file, but it isn't
- * a device file, and it doesn't work as expected, so we avoid trying.
- */
- termin = fopen("/dev/tty", "r");
- termout = fopen("/dev/tty", "w");
-#endif
+ termin = fopen(DEVTTY, "r");
+ termout = fopen(DEVTTY, "w");
if (!termin || !termout)
{
if (termin)