[03/15] Move locator code to tui-stack.c

Message ID 20190814162132.31424-4-tom@tromey.com
State New
Headers show
Series
  • Another round of TUI refactoring
Related show

Commit Message

Tom Tromey Aug. 14, 2019, 4:21 p.m.
The locator is mostly implemented in tui-stack.c.  This moves the
remaining bits to tui-stack.c and tui-stack.h, as appropriate.

gdb/ChangeLog
2019-08-14  Tom Tromey  <tom@tromey.com>

	* tui/tui-wingeneral.c: Include tui-stack.h.
	* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN)
	(struct tui_locator_window): Move from tui-data.h.
	* tui/tui-stack.c (_locator, tui_locator_win_info_ptr)
	(tui_initialize_static_data): Move from tui-data.c.
	* tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN)
	(struct tui_locator_window): Move to tui-stack.c.
	* tui/tui-data.c (_locator, tui_locator_win_info_ptr)
	(tui_initialize_static_data): Move to tui-stack.c.
---
 gdb/ChangeLog            | 12 ++++++++++++
 gdb/tui/tui-data.c       | 25 -------------------------
 gdb/tui/tui-data.h       | 25 -------------------------
 gdb/tui/tui-stack.c      | 25 +++++++++++++++++++++++++
 gdb/tui/tui-stack.h      | 27 +++++++++++++++++++++++++++
 gdb/tui/tui-wingeneral.c |  1 +
 6 files changed, 65 insertions(+), 50 deletions(-)

-- 
2.17.2

Patch

diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index add1f33926f..c308237d187 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -36,7 +36,6 @@  struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS];
 ** Private data
 ****************************/
 static int term_height, term_width;
-static struct tui_locator_window _locator;
 static std::vector<tui_source_window_base *> source_windows;
 static struct tui_win_info *win_with_focus = NULL;
 
@@ -128,15 +127,6 @@  tui_add_to_source_windows (struct tui_source_window_base *win_info)
     source_windows.push_back (win_info);
 }
 
-/* Accessor for the locator win info.  Answers a pointer to the static
-   locator win info struct.  */
-struct tui_locator_window *
-tui_locator_win_info_ptr (void)
-{
-  return &_locator;
-}
-
-
 /* Accessor for the term_height.  */
 int
 tui_term_height (void)
@@ -253,21 +243,6 @@  tui_partial_win_by_name (const char *name)
   return NULL;
 }
 
-
-void
-tui_initialize_static_data ()
-{
-  tui_gen_win_info *win = tui_locator_win_info_ptr ();
-  win->width =
-    win->height =
-    win->origin.x =
-    win->origin.y =
-    win->viewport_height = 0;
-  win->handle = NULL;
-  win->is_visible = false;
-  win->title = 0;
-}
-
 /* See tui-data.h.  */
 
 void
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index 017e7a40f52..b5eeecdee97 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -148,31 +148,6 @@  struct tui_line_or_address
     } u;
 };
 
-#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
-{
-  tui_locator_window ()
-    : tui_gen_win_info (LOCATOR_WIN)
-  {
-    full_name[0] = 0;
-    proc_name[0] = 0;
-  }
-
-  char full_name[MAX_LOCATOR_ELEMENT_LEN];
-  char proc_name[MAX_LOCATOR_ELEMENT_LEN];
-  int line_no = 0;
-  CORE_ADDR addr = 0;
-  /* Architecture associated with code at this location.  */
-  struct gdbarch *gdbarch = nullptr;
-};
-
 /* This defines information about each logical window.  */
 struct tui_win_info : public tui_gen_win_info
 {
diff --git a/gdb/tui/tui-stack.c b/gdb/tui/tui-stack.c
index 0a712231fa5..c67ac1ba549 100644
--- a/gdb/tui/tui-stack.c
+++ b/gdb/tui/tui-stack.c
@@ -39,6 +39,8 @@ 
 
 #include "gdb_curses.h"
 
+static struct tui_locator_window _locator;
+
 /* Get a printable name for the function at the address.
    The symbol name is demangled if demangling is turned on.
    Returns a pointer to a static area holding the result.  */
@@ -56,6 +58,29 @@  static int tui_set_locator_info (struct gdbarch *gdbarch,
 static void tui_update_command (const char *, int);
 
 
+/* Accessor for the locator win info.  Answers a pointer to the static
+   locator win info struct.  */
+struct tui_locator_window *
+tui_locator_win_info_ptr (void)
+{
+  return &_locator;
+}
+
+void
+tui_initialize_static_data ()
+{
+  tui_gen_win_info *win = tui_locator_win_info_ptr ();
+  win->width =
+    win->height =
+    win->origin.x =
+    win->origin.y =
+    win->viewport_height = 0;
+  win->handle = NULL;
+  win->is_visible = false;
+  win->title = 0;
+}
+
+
 /* Create the status line to display as much information as we can on
    this single line: target name, process number, current function,
    current line, current PC, SingleKey mode.  */
diff --git a/gdb/tui/tui-stack.h b/gdb/tui/tui-stack.h
index 0a88f49932e..51c976b2f56 100644
--- a/gdb/tui/tui-stack.h
+++ b/gdb/tui/tui-stack.h
@@ -22,8 +22,35 @@ 
 #ifndef TUI_TUI_STACK_H
 #define TUI_TUI_STACK_H
 
+#include "tui/tui-data.h"
+
 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
+{
+  tui_locator_window ()
+    : tui_gen_win_info (LOCATOR_WIN)
+  {
+    full_name[0] = 0;
+    proc_name[0] = 0;
+  }
+
+  char full_name[MAX_LOCATOR_ELEMENT_LEN];
+  char proc_name[MAX_LOCATOR_ELEMENT_LEN];
+  int line_no = 0;
+  CORE_ADDR addr = 0;
+  /* Architecture associated with code at this location.  */
+  struct gdbarch *gdbarch = nullptr;
+};
+
 extern void tui_update_locator_fullname (const char *);
 extern void tui_show_locator_content (void);
 extern int tui_show_frame_info (struct frame_info *);
diff --git a/gdb/tui/tui-wingeneral.c b/gdb/tui/tui-wingeneral.c
index e2d06bcebad..52583cfb8ac 100644
--- a/gdb/tui/tui-wingeneral.c
+++ b/gdb/tui/tui-wingeneral.c
@@ -24,6 +24,7 @@ 
 #include "tui/tui-data.h"
 #include "tui/tui-wingeneral.h"
 #include "tui/tui-win.h"
+#include "tui/tui-stack.h"
 
 #include "gdb_curses.h"