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
commitb499cf8e83d121438f0b4ee80717323ee407abdc (patch)
tree9a456cf2e0cc6d44fa5595def5f201d57fc48c89 /src/bin/psql/command.c
parent01910959504912f46d5d643d692ecd2ab7eabd5d (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 786f4139b53..4c22f72a712 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -912,6 +912,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, false);