aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2016-04-12 16:49:31 +0100
committerPedro Alves <palves@redhat.com>2016-04-12 16:58:14 +0100
commitc509f1e1e8187e0abd2321aadc37878402c87332 (patch)
treee6f5cee2a7eaa9c98cf6c0b0973912f6562b4b1e
parent99bbb428d4412b79e59df321f9e83c13342e4612 (diff)
downloadbinutils-c509f1e1e8187e0abd2321aadc37878402c87332.zip
binutils-c509f1e1e8187e0abd2321aadc37878402c87332.tar.gz
binutils-c509f1e1e8187e0abd2321aadc37878402c87332.tar.bz2
Use target_terminal_ours_for_output in cp-support.c
We're only doing output here, so leave raw/cooked mode alone, as well as the SIGINT handler. Restore terminal settings after output, while at it. gdb/ChangeLog: 2016-04-12 Pedro Alves <palves@redhat.com> * cp-support.c (gdb_demangle): Use target_terminal_ours_for_output instead of target_terminal_ours, and restore target terminal with a cleanup.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/cp-support.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8fd8ea8..cdaf648 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2016-04-12 Pedro Alves <palves@redhat.com>
+ * cp-support.c (gdb_demangle): Use target_terminal_ours_for_output
+ instead of target_terminal_ours, and restore target terminal with
+ a cleanup.
+
+2016-04-12 Pedro Alves <palves@redhat.com>
+
* ada-lang.c (type_as_string, type_as_string_and_cleanup): New
functions.
(ada_lookup_struct_elt_type): Use type_as_string_and_cleanup.
diff --git a/gdb/cp-support.c b/gdb/cp-support.c
index a71c6ad..c7f5074 100644
--- a/gdb/cp-support.c
+++ b/gdb/cp-support.c
@@ -1601,7 +1601,9 @@ gdb_demangle (const char *name, int options)
"demangler-warning", short_msg);
make_cleanup (xfree, long_msg);
- target_terminal_ours ();
+ make_cleanup_restore_target_terminal ();
+ target_terminal_ours_for_output ();
+
begin_line ();
if (core_dump_allowed)
fprintf_unfiltered (gdb_stderr,