diff options
author | Tom Tromey <tom@tromey.com> | 2018-05-18 14:23:27 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2018-05-21 09:53:15 -0600 |
commit | 15b6611c69f6fdb7a20cd50d33d9acf8c5c32037 (patch) | |
tree | c04bff8b6eeb04533b96027be1abbd9392994d57 /gdb/tracepoint.c | |
parent | c0c9f665d9d4cdcef59cc7951396d843a7ea6a48 (diff) | |
download | binutils-gdb-15b6611c69f6fdb7a20cd50d33d9acf8c5c32037.tar.gz |
Remove a cleanup from trace_dump_actions
This changes trace_dump_actions to use std::string, removing a
cleanup.
Tested by the buildbot.
ChangeLog
2018-05-21 Tom Tromey <tom@tromey.com>
* tracepoint.c (trace_dump_actions): Use std::string.
Diffstat (limited to 'gdb/tracepoint.c')
-rw-r--r-- | gdb/tracepoint.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index e170d704bc9..9261fe2a27f 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -2679,9 +2679,6 @@ trace_dump_actions (struct command_line *action, STEPPING_ACTIONS should be equal. */ if (stepping_frame == stepping_actions) { - char *cmd = NULL; - struct cleanup *old_chain - = make_cleanup (free_current_contents, &cmd); int trace_string = 0; if (*action_exp == '/') @@ -2706,31 +2703,22 @@ trace_dump_actions (struct command_line *action, info_args_command (NULL, from_tty); else { /* variable */ + std::string contents; + const char *exp = action_exp; if (next_comma != NULL) { size_t len = next_comma - action_exp; - - cmd = (char *) xrealloc (cmd, len + 1); - memcpy (cmd, action_exp, len); - cmd[len] = 0; + contents = std::string (action_exp, len); + exp = contents.c_str (); } - else - { - size_t len = strlen (action_exp); - cmd = (char *) xrealloc (cmd, len + 1); - memcpy (cmd, action_exp, len + 1); - } - - printf_filtered ("%s = ", cmd); - output_command_const (cmd, from_tty); + printf_filtered ("%s = ", exp); + output_command_const (exp, from_tty); printf_filtered ("\n"); } action_exp = next_comma; } while (action_exp && *action_exp == ','); - - do_cleanups (old_chain); } } } |