Use DEVTTY as 'con' on Win32 as a replacement for /dev/tty.

This commit is contained in:
Bruce Momjian 2006-03-04 04:31:05 +00:00
parent b7a870ccc7
commit ba89cae454
3 changed files with 11 additions and 19 deletions

View File

@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2005, PostgreSQL Global Development Group
*
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.139.4.2 2006/03/03 23:54:51 momjian Exp $
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.139.4.3 2006/03/04 04:31:05 momjian Exp $
*/
#include "postgres_fe.h"
#include "command.h"
@ -654,12 +654,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\".\n"), fname);
if (!fname)

View File

@ -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.69.4.2 2005/03/25 00:35:15 tgl Exp $
* $PostgreSQL: pgsql/src/include/port.h,v 1.69.4.3 2006/03/04 04:31:05 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@ -80,8 +80,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
/*

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.10.4.1 2006/03/03 23:54:52 momjian Exp $
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.10.4.2 2006/03/04 04:31:05 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,
@ -64,14 +64,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)