aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/top.c10
2 files changed, 10 insertions, 5 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7be4360..2f21e3f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-31 Philippe Waroquiers <philippe.waroquiers@skynet.be>
+
+ * top.c (command_line_input): Use unique_xmalloc_ptr to
+ manage memory allocated by readline.
+
2018-12-30 Tom Tromey <tom@tromey.com>
* event-top.h (command_line_handler): Update.
diff --git a/gdb/top.c b/gdb/top.c
index 8b3fc5e..17e7884 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1212,7 +1212,7 @@ command_line_input (const char *prompt_arg, const char *annotation_suffix)
while (1)
{
- char *rl;
+ gdb::unique_xmalloc_ptr<char> rl;
/* Make sure that all output has been output. Some machines may
let you get away with leaving out some of the gdb_flush, but
@@ -1236,20 +1236,20 @@ command_line_input (const char *prompt_arg, const char *annotation_suffix)
&& from_tty
&& input_interactive_p (current_ui))
{
- rl = (*deprecated_readline_hook) (prompt);
+ rl.reset ((*deprecated_readline_hook) (prompt));
}
else if (command_editing_p
&& from_tty
&& input_interactive_p (current_ui))
{
- rl = gdb_readline_wrapper (prompt);
+ rl.reset (gdb_readline_wrapper (prompt));
}
else
{
- rl = gdb_readline_no_editing (prompt);
+ rl.reset (gdb_readline_no_editing (prompt));
}
- cmd = handle_line_of_input (&cmd_line_buffer, rl,
+ cmd = handle_line_of_input (&cmd_line_buffer, rl.get (),
0, annotation_suffix);
if (cmd == (char *) EOF)
{