diff options
Diffstat (limited to 'gdb/break-catch-sig.c')
-rw-r--r-- | gdb/break-catch-sig.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/gdb/break-catch-sig.c b/gdb/break-catch-sig.c index 06ee44c..296f900 100644 --- a/gdb/break-catch-sig.c +++ b/gdb/break-catch-sig.c @@ -28,7 +28,8 @@ #include "valprint.h" #include "cli/cli-utils.h" #include "completer.h" -#include "gdb_obstack.h" + +#include <string> #define INTERNAL_SIGNAL(x) ((x) == GDB_SIGNAL_TRAP || (x) == GDB_SIGNAL_INT) @@ -265,11 +266,7 @@ signal_catchpoint_print_one (struct breakpoint *b, { int i; gdb_signal_type iter; - struct obstack text; - struct cleanup *cleanup; - - obstack_init (&text); - cleanup = make_cleanup_obstack_free (&text); + std::string text; for (i = 0; VEC_iterate (gdb_signal_type, c->signals_to_be_caught, i, iter); @@ -278,12 +275,10 @@ signal_catchpoint_print_one (struct breakpoint *b, const char *name = signal_to_name_or_int (iter); if (i > 0) - obstack_grow (&text, " ", 1); - obstack_grow (&text, name, strlen (name)); + text += " "; + text += name; } - obstack_grow (&text, "", 1); - ui_out_field_string (uiout, "what", (const char *) obstack_base (&text)); - do_cleanups (cleanup); + ui_out_field_string (uiout, "what", text.c_str ()); } else ui_out_field_string (uiout, "what", |