Change members of tui_locator_window to std::string
authorTom Tromey <tom@tromey.com>
Sun, 1 Sep 2019 14:13:24 +0000 (08:13 -0600)
committerTom Tromey <tom@tromey.com>
Fri, 20 Sep 2019 19:49:10 +0000 (13:49 -0600)
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.

gdb/ChangeLog
gdb/tui/tui-source.c
gdb/tui/tui-stack.c
gdb/tui/tui-stack.h

index 401c74242e1479360211251c216eb061f0578542..8d586e72f0fc5ff651b4fe47f0e70da012ea6c47 100644 (file)
@@ -1,3 +1,14 @@
+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):
index f70e053bdb52d33eeb1bbf3c4225f08bfe406403..e6cc0dbc1a3dcf6ec08a0e5b4d7c10d9d31f8f4f 100644 (file)
@@ -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));
 }
 
index 830187995be0d6143089b022325efb68dd89c815..d66e3589e4276fe36dd3d5c6c55d80ac66dbba8d 100644 (file)
@@ -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;
index b6ffa986a6f93f50d16d961a06f549dd7261ca98..93a79fbd799c72d0a6986ab8dc9369e2d3c64fec 100644 (file)
 
 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.  */
This page took 0.03417 seconds and 4 git commands to generate.