summaryrefslogtreecommitdiff
path: root/src/bin/psql/command.c
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2013-01-24 16:01:31 -0500
committerAndrew Dunstan <andrew@dunslane.net>2013-01-24 16:01:31 -0500
commit57d294a18891ef843c9c24f3f9f3076fa2cfcc23 (patch)
tree417c320ea54a366d7f8222772426115afb404a88 /src/bin/psql/command.c
parent62b9e3a0ff2d9964e30635ceca825340e71087e1 (diff)
Use correct output device for Windows prompts.
This ensures that mapping of non-ascii prompts to the correct code page occurs. Bug report and original patch from Alexander Law, reviewed and reworked by Noah Misch. Backpatch to all live branches.
Diffstat (limited to 'src/bin/psql/command.c')
-rw-r--r--src/bin/psql/command.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index a451c2b8ea1..e6e7f844327 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1046,6 +1046,17 @@ exec_command(const char *cmd,
char *fname = psql_scan_slash_option(scan_state,
OT_NORMAL, NULL, true);
+#if defined(WIN32) && !defined(__CYGWIN__)
+
+ /*
+ * XXX This does not work for all terminal environments or for output
+ * containing non-ASCII characters; see comments in simple_prompt().
+ */
+#define DEVTTY "con"
+#else
+#define DEVTTY "/dev/tty"
+#endif
+
expand_tilde(&fname);
/* This scrolls off the screen when using /dev/tty */
success = saveHistory(fname ? fname : DEVTTY, -1, false, false);