This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFA 04/10] Use std::string in mi_cmd_interpreter_exec
- From: Tom Tromey <tom at tromey dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tom at tromey dot com>
- Date: Tue, 29 Aug 2017 13:25:18 -0600
- Subject: [RFA 04/10] Use std::string in mi_cmd_interpreter_exec
- Authentication-results: sourceware.org; auth=none
- References: <20170829192524.29971-1-tom@tromey.com>
Change mi_cmd_interpreter_exec to use std::string, removing a cleanup.
ChangeLog
2017-08-29 Tom Tromey <tom@tromey.com>
* mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
---
gdb/ChangeLog | 4 ++++
gdb/mi/mi-interp.c | 12 ++++--------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9c8bb47..b13ce63 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,9 @@
2017-08-29 Tom Tromey <tom@tromey.com>
+ * mi/mi-interp.c (mi_cmd_interpreter_exec): Use std::string.
+
+2017-08-29 Tom Tromey <tom@tromey.com>
+
* mi/mi-cmd-env.c (env_execute_cli_command): Use
gdb::unique_xmalloc_ptr.
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index 959ae37..6b6d8f0 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -206,8 +206,6 @@ mi_cmd_interpreter_exec (const char *command, char **argv, int argc)
{
struct interp *interp_to_use;
int i;
- char *mi_error_message = NULL;
- struct cleanup *old_chain;
if (argc < 2)
error (_("-interpreter-exec: "
@@ -231,24 +229,22 @@ mi_cmd_interpreter_exec (const char *command, char **argv, int argc)
/* Now run the code. */
- old_chain = make_cleanup (null_cleanup, 0);
+ std::string mi_error_message;
for (i = 1; i < argc; i++)
{
struct gdb_exception e = interp_exec (interp_to_use, argv[i]);
if (e.reason < 0)
{
- mi_error_message = xstrdup (e.message);
- make_cleanup (xfree, mi_error_message);
+ mi_error_message = e.message;
break;
}
}
mi_remove_notify_hooks ();
- if (mi_error_message != NULL)
- error ("%s", mi_error_message);
- do_cleanups (old_chain);
+ if (!mi_error_message.empty ())
+ error ("%s", mi_error_message.c_str ());
}
/* This inserts a number of hooks that are meant to produce
--
2.9.4