diff options
author | Tom Tromey <tom@tromey.com> | 2019-09-01 08:13:24 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-09-20 13:49:10 -0600 |
commit | 9923f347c4e4b9ed710de3404444cf46b04135a0 (patch) | |
tree | de2f72d590b7b6636aca60b859a6166b61efbb5d | |
parent | b76251abaf279603367ae730b9194fb20861fdb9 (diff) | |
download | gdb-9923f347c4e4b9ed710de3404444cf46b04135a0.zip gdb-9923f347c4e4b9ed710de3404444cf46b04135a0.tar.gz gdb-9923f347c4e4b9ed710de3404444cf46b04135a0.tar.bz2 |
Change members of tui_locator_window to std::string
This changes two members of tui_locator_window to have type
std::string. This removes a static limit.
gdb/ChangeLog
2019-09-20 Tom Tromey <tom@tromey.com>
* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN): Remove define.
(struct tui_locator_window) <full_name, proc_name>: Now
std::string.
* tui/tui-stack.c (tui_locator_window::make_status_line)
(tui_locator_window::set_locator_fullname)
(tui_locator_window::set_locator_info): Update.
* tui/tui-source.c (tui_source_window::set_contents)
(tui_source_window::showing_source_p): Update.
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/tui/tui-source.c | 4 | ||||
-rw-r--r-- | gdb/tui/tui-stack.c | 18 | ||||
-rw-r--r-- | gdb/tui/tui-stack.h | 10 |
4 files changed, 22 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 401c742..8d586e7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,16 @@ 2019-09-20 Tom Tromey <tom@tromey.com> + * tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN): Remove define. + (struct tui_locator_window) <full_name, proc_name>: Now + std::string. + * tui/tui-stack.c (tui_locator_window::make_status_line) + (tui_locator_window::set_locator_fullname) + (tui_locator_window::set_locator_info): Update. + * tui/tui-source.c (tui_source_window::set_contents) + (tui_source_window::showing_source_p): Update. + +2019-09-20 Tom Tromey <tom@tromey.com> + * tui/tui-stack.c (tui_locator_window::set_locator_fullname): Don't call tui_locator_win_info_ptr. diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c index f70e053..e6cc0db 100644 --- a/gdb/tui/tui-source.c +++ b/gdb/tui/tui-source.c @@ -179,7 +179,7 @@ tui_source_window::set_contents (struct gdbarch *arch, element->line_or_addr.loa = LOA_LINE; element->line_or_addr.u.line_no = cur_line_no; element->is_exec_point - = (filename_cmp (locator->full_name, + = (filename_cmp (locator->full_name.c_str (), symtab_to_fullname (s)) == 0 && cur_line_no == locator->line_no); @@ -213,7 +213,7 @@ bool tui_source_window::showing_source_p (const char *fullname) const { return (!content.empty () - && (filename_cmp (tui_locator_win_info_ptr ()->full_name, + && (filename_cmp (tui_locator_win_info_ptr ()->full_name.c_str (), fullname) == 0)); } diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c index 8301879..d66e358 100644 --- a/gdb/tui/tui-stack.c +++ b/gdb/tui/tui-stack.c @@ -166,12 +166,12 @@ tui_locator_window::make_status_line () const /* Procedure/class name. */ if (proc_width > 0) { - if (strlen (proc_name) > proc_width) + if (proc_name.size () > proc_width) string.printf ("%s%*.*s* ", PROC_PREFIX, - 1 - proc_width, proc_width - 1, proc_name); + 1 - proc_width, proc_width - 1, proc_name.c_str ()); else string.printf ("%s%*.*s ", PROC_PREFIX, - -proc_width, proc_width, proc_name); + -proc_width, proc_width, proc_name.c_str ()); } if (line_width > 0) @@ -250,8 +250,7 @@ tui_locator_window::rerender () void tui_locator_window::set_locator_fullname (const char *fullname) { - full_name[0] = 0; - strcat_to_buf (full_name, MAX_LOCATOR_ELEMENT_LEN, fullname); + full_name = fullname; rerender (); } @@ -272,16 +271,13 @@ tui_locator_window::set_locator_info (struct gdbarch *gdbarch_in, if (fullname == NULL) fullname = ""; - locator_changed_p |= strncmp (proc_name, procname, - MAX_LOCATOR_ELEMENT_LEN) != 0; + locator_changed_p |= proc_name != procname; locator_changed_p |= lineno != line_no; locator_changed_p |= addr_in != addr; locator_changed_p |= gdbarch_in != gdbarch; - locator_changed_p |= strncmp (full_name, fullname, - MAX_LOCATOR_ELEMENT_LEN) != 0; + locator_changed_p |= full_name != fullname; - proc_name[0] = (char) 0; - strcat_to_buf (proc_name, MAX_LOCATOR_ELEMENT_LEN, procname); + proc_name = procname; line_no = lineno; addr = addr_in; gdbarch = gdbarch_in; diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h index b6ffa98..93a79fb 100644 --- a/gdb/tui/tui-stack.h +++ b/gdb/tui/tui-stack.h @@ -26,12 +26,6 @@ struct frame_info; -#ifdef PATH_MAX -# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX -#else -# define MAX_LOCATOR_ELEMENT_LEN 1024 -#endif - /* Locator window class. */ struct tui_locator_window : public tui_gen_win_info @@ -57,8 +51,8 @@ struct tui_locator_window : public tui_gen_win_info /* Set the full_name portion of the locator. */ void set_locator_fullname (const char *fullname); - char full_name[MAX_LOCATOR_ELEMENT_LEN]; - char proc_name[MAX_LOCATOR_ELEMENT_LEN]; + std::string full_name; + std::string proc_name; int line_no = 0; CORE_ADDR addr = 0; /* Architecture associated with code at this location. */ |