aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-09-01 08:13:24 -0600
committerTom Tromey <tom@tromey.com>2019-09-20 13:49:10 -0600
commit9923f347c4e4b9ed710de3404444cf46b04135a0 (patch)
treede2f72d590b7b6636aca60b859a6166b61efbb5d
parentb76251abaf279603367ae730b9194fb20861fdb9 (diff)
downloadgdb-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/ChangeLog11
-rw-r--r--gdb/tui/tui-source.c4
-rw-r--r--gdb/tui/tui-stack.c18
-rw-r--r--gdb/tui/tui-stack.h10
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. */