Use DEVTTY as 'con' on Win32 as a replacement for /dev/tty.
This commit is contained in:
parent
26d6054128
commit
64e7c8a951
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* Copyright (c) 2000-2005, PostgreSQL Global Development Group
|
* Copyright (c) 2000-2005, PostgreSQL Global Development Group
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.162 2006/03/03 23:49:12 momjian Exp $
|
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.163 2006/03/04 04:30:40 momjian Exp $
|
||||||
*/
|
*/
|
||||||
#include "postgres_fe.h"
|
#include "postgres_fe.h"
|
||||||
#include "command.h"
|
#include "command.h"
|
||||||
@ -753,11 +753,7 @@ exec_command(const char *cmd,
|
|||||||
|
|
||||||
expand_tilde(&fname);
|
expand_tilde(&fname);
|
||||||
/* This scrolls off the screen when using /dev/tty */
|
/* This scrolls off the screen when using /dev/tty */
|
||||||
#ifndef WIN32
|
success = saveHistory(fname ? fname : DEVTTY);
|
||||||
success = saveHistory(fname ? fname : "/dev/tty");
|
|
||||||
#else
|
|
||||||
success = saveHistory(fname ? fname : stderr);
|
|
||||||
#endif
|
|
||||||
if (success && !quiet && fname)
|
if (success && !quiet && fname)
|
||||||
printf(gettext("Wrote history to file \"%s/%s\".\n"),
|
printf(gettext("Wrote history to file \"%s/%s\".\n"),
|
||||||
pset.dirname ? pset.dirname : ".", fname);
|
pset.dirname ? pset.dirname : ".", fname);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/include/port.h,v 1.87 2005/12/06 18:35:10 momjian Exp $
|
* $PostgreSQL: pgsql/src/include/port.h,v 1.88 2006/03/04 04:30:40 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -84,8 +84,11 @@ extern int find_other_exec(const char *argv0, const char *target,
|
|||||||
|
|
||||||
#if defined(WIN32) && !defined(__CYGWIN__)
|
#if defined(WIN32) && !defined(__CYGWIN__)
|
||||||
#define DEVNULL "nul"
|
#define DEVNULL "nul"
|
||||||
|
/* "con" does not work from the MinGW 1.0.10 console. */
|
||||||
|
#define DEVTTY "con"
|
||||||
#else
|
#else
|
||||||
#define DEVNULL "/dev/null"
|
#define DEVNULL "/dev/null"
|
||||||
|
#define DEVTTY "/dev/tty"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.13 2006/03/03 23:49:12 momjian Exp $
|
* $PostgreSQL: pgsql/src/port/sprompt.c,v 1.14 2006/03/04 04:30:41 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -40,8 +40,8 @@ simple_prompt(const char *prompt, int maxlen, bool echo)
|
|||||||
{
|
{
|
||||||
int length;
|
int length;
|
||||||
char *destination;
|
char *destination;
|
||||||
FILE *termin = NULL,
|
FILE *termin,
|
||||||
*termout = NULL;
|
*termout;
|
||||||
|
|
||||||
#ifdef HAVE_TERMIOS_H
|
#ifdef HAVE_TERMIOS_H
|
||||||
struct termios t_orig,
|
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
|
* Do not try to collapse these into one "w+" mode file. Doesn't work on
|
||||||
* some platforms (eg, HPUX 10.20).
|
* some platforms (eg, HPUX 10.20).
|
||||||
*/
|
*/
|
||||||
#ifndef WIN32
|
termin = fopen(DEVTTY, "r");
|
||||||
/*
|
termout = fopen(DEVTTY, "w");
|
||||||
* 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
|
|
||||||
if (!termin || !termout)
|
if (!termin || !termout)
|
||||||
{
|
{
|
||||||
if (termin)
|
if (termin)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user