diff options
author | Tom Tromey <tom@tromey.com> | 2017-10-12 16:19:55 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2017-10-16 16:10:19 -0600 |
commit | 2dc0e219715356c6acbc3bea85ddec288f752f1f (patch) | |
tree | 28fe40dc43ec9c2744f9d97299fe3569aa9df127 /gdb/probe.c | |
parent | b05628f0a878cdd64492bbc49d60003d699763ad (diff) | |
download | binutils-2dc0e219715356c6acbc3bea85ddec288f752f1f.zip binutils-2dc0e219715356c6acbc3bea85ddec288f752f1f.tar.gz binutils-2dc0e219715356c6acbc3bea85ddec288f752f1f.tar.bz2 |
Remove some cleanups from probe.c
This removes some cleanups from parse_probes by using std::string; and
removes some unnecessary cleanups from elsewhere in probe.c.
ChangeLog
2017-10-16 Tom Tromey <tom@tromey.com>
* probe.c (parse_probes): Use std::string.
(info_probes_for_ops, enable_probes_command)
(disable_probes_command): Remove cleanups.
Diffstat (limited to 'gdb/probe.c')
-rw-r--r-- | gdb/probe.c | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/gdb/probe.c b/gdb/probe.c index eb6f537..ba40959 100644 --- a/gdb/probe.c +++ b/gdb/probe.c @@ -98,7 +98,6 @@ parse_probes (const struct event_location *location, { char *arg_end, *arg; char *objfile_namestr = NULL, *provider = NULL, *name, *p; - struct cleanup *cleanup; const struct probe_ops *probe_ops; const char *arg_start, *cs; @@ -118,8 +117,8 @@ parse_probes (const struct event_location *location, arg_end = skip_to_space (arg); /* We make a copy here so we can write over parts with impunity. */ - arg = savestring (arg, arg_end - arg); - cleanup = make_cleanup (xfree, arg); + std::string copy (arg, arg_end - arg); + arg = ©[0]; /* Extract each word from the argument, separated by ":"s. */ p = strchr (arg, ':'); @@ -183,17 +182,12 @@ parse_probes (const struct event_location *location, if (canonical) { - char *canon; - - canon = savestring (arg_start, arg_end - arg_start); - make_cleanup (xfree, canon); + std::string canon (arg_start, arg_end - arg_start); canonical->special_display = 1; canonical->pre_expanded = 1; - canonical->location = new_probe_location (canon); + canonical->location = new_probe_location (canon.c_str ()); } - do_cleanups (cleanup); - return result; } @@ -548,7 +542,6 @@ info_probes_for_ops (const char *arg, int from_tty, const struct probe_ops *pops) { std::string provider, probe_name, objname; - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); int any_found; int ui_out_extra_fields = 0; size_t size_addr; @@ -657,7 +650,6 @@ info_probes_for_ops (const char *arg, int from_tty, any_found = !probes.empty (); } - do_cleanups (cleanup); if (!any_found) current_uiout->message (_("No probes matched.\n")); @@ -677,7 +669,6 @@ static void enable_probes_command (const char *arg, int from_tty) { std::string provider, probe_name, objname; - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); parse_probe_linespec ((const char *) arg, &provider, &probe_name, &objname); @@ -686,7 +677,6 @@ enable_probes_command (const char *arg, int from_tty) if (probes.empty ()) { current_uiout->message (_("No probes matched.\n")); - do_cleanups (cleanup); return; } @@ -706,8 +696,6 @@ enable_probes_command (const char *arg, int from_tty) current_uiout->message (_("Probe %s:%s cannot be enabled.\n"), probe.probe->provider, probe.probe->name); } - - do_cleanups (cleanup); } /* Implementation of the `disable probes' command. */ @@ -716,7 +704,6 @@ static void disable_probes_command (const char *arg, int from_tty) { std::string provider, probe_name, objname; - struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); parse_probe_linespec ((const char *) arg, &provider, &probe_name, &objname); @@ -725,7 +712,6 @@ disable_probes_command (const char *arg, int from_tty) if (probes.empty ()) { current_uiout->message (_("No probes matched.\n")); - do_cleanups (cleanup); return; } @@ -745,8 +731,6 @@ disable_probes_command (const char *arg, int from_tty) current_uiout->message (_("Probe %s:%s cannot be disabled.\n"), probe.probe->provider, probe.probe->name); } - - do_cleanups (cleanup); } /* See comments in probe.h. */ |