From 4915bfdcfb271cab6ca7534916c42e98cf22f953 Mon Sep 17 00:00:00 2001 From: Marco Barisione Date: Wed, 19 May 2021 13:58:40 +0100 Subject: [PATCH] gdb: Add an overloaded ui_out::text accepting a const std::string & gdb/ChangeLog: * ui-out.h (class ui_out): Add ui_out::text accepting a constant reference to a std::string. Fix all callers using std::string::c_str. * ui-out.c (ui_out::text): Ditto. --- gdb/ada-lang.c | 4 ++-- gdb/cli/cli-setshow.c | 2 +- gdb/source.c | 2 +- gdb/thread.c | 2 +- gdb/ui-out.c | 6 ++++++ gdb/ui-out.h | 1 + 6 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 2a257c2fd6d..1b506766259 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -11865,7 +11865,7 @@ print_mention_exception (struct breakpoint *b) { std::string info = string_printf (_("`%s' Ada exception"), c->excep_string.c_str ()); - uiout->text (info.c_str ()); + uiout->text (info); } else uiout->text (_("all Ada exceptions")); @@ -11881,7 +11881,7 @@ print_mention_exception (struct breakpoint *b) std::string info = string_printf (_("`%s' Ada exception handlers"), c->excep_string.c_str ()); - uiout->text (info.c_str ()); + uiout->text (info); } else uiout->text (_("all Ada exceptions handlers")); diff --git a/gdb/cli/cli-setshow.c b/gdb/cli/cli-setshow.c index 82008ca8eed..f6a594d69a2 100644 --- a/gdb/cli/cli-setshow.c +++ b/gdb/cli/cli-setshow.c @@ -760,7 +760,7 @@ cmd_show_list (struct cmd_list_element *list, int from_tty) std::string prefixname = list->prefix->prefixname (); prefixname = (!list->prefix->is_prefix () ? "" : strstr (prefixname.c_str (), "show ") + 5); - uiout->text (prefixname.c_str ()); + uiout->text (prefixname); } uiout->field_string ("name", list->name); uiout->text (": "); diff --git a/gdb/source.c b/gdb/source.c index b6dab6eb236..54cb45f4e9d 100644 --- a/gdb/source.c +++ b/gdb/source.c @@ -1394,7 +1394,7 @@ print_source_lines_base (struct symtab *s, int line, int stopline, if (iter > start) { std::string text (start, iter); - uiout->text (text.c_str ()); + uiout->text (text); } if (*iter == '\r') { diff --git a/gdb/thread.c b/gdb/thread.c index 3cd588e0b12..87b6cbf74fd 100644 --- a/gdb/thread.c +++ b/gdb/thread.c @@ -1977,7 +1977,7 @@ print_selected_thread_frame (struct ui_out *uiout, uiout->text ("[Switching to thread "); uiout->field_string ("new-thread-id", print_thread_id (tp)); uiout->text (" ("); - uiout->text (target_pid_to_str (inferior_ptid).c_str ()); + uiout->text (target_pid_to_str (inferior_ptid)); uiout->text (")]"); } } diff --git a/gdb/ui-out.c b/gdb/ui-out.c index d67dae4f506..56251c9445a 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -581,6 +581,12 @@ ui_out::text (const char *string) do_text (string); } +void +ui_out::text (const std::string &string) +{ + text (string.c_str ()); +} + void ui_out::call_do_message (const ui_file_style &style, const char *format, ...) diff --git a/gdb/ui-out.h b/gdb/ui-out.h index f14be479fa1..a06477df533 100644 --- a/gdb/ui-out.h +++ b/gdb/ui-out.h @@ -203,6 +203,7 @@ class ui_out void spaces (int numspaces); void text (const char *string); + void text (const std::string &string); /* Output a printf-style formatted string. In addition to the usual printf format specs, this supports a few GDB-specific -- 2.30.2