This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch 4/9] TUI: Use internally fullname


Hi,

TUI was using comp_dir-relative "filaname" during matching.


Thanks,
Jan


2013-01-15  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* tui/tui-data.c (init_win_info, tui_del_window, tui_free_window):
	Rename field reference filename to fullname.
	* tui/tui-data.h (struct tui_source_info): Rename field filename to
	fullname.  New comment for it.
	* tui/tui-source.c (tui_set_source_content): Rename field reference
	filename to fullname.  Initialize field by symtab_to_fullname now.
	* tui/tui-winsource.c (tui_update_breakpoint_info): Rename field
	reference filename to fullname.  Use symtab_to_fullname during
	comparison.

--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -541,7 +541,7 @@ init_win_info (struct tui_win_info *win_info)
       win_info->detail.source_info.gdbarch = NULL;
       win_info->detail.source_info.start_line_or_addr.loa = LOA_ADDRESS;
       win_info->detail.source_info.start_line_or_addr.u.addr = 0;
-      win_info->detail.source_info.filename = 0;
+      win_info->detail.source_info.fullname = NULL;
       break;
     case DATA_WIN:
       win_info->detail.data_display_info.data_content = (tui_win_content) NULL;
@@ -681,10 +681,10 @@ tui_del_window (struct tui_win_info *win_info)
 	  generic_win->handle = (WINDOW *) NULL;
 	  generic_win->is_visible = FALSE;
 	}
-      if (win_info->detail.source_info.filename)
+      if (win_info->detail.source_info.fullname)
         {
-          xfree (win_info->detail.source_info.filename);
-          win_info->detail.source_info.filename = 0;
+          xfree (win_info->detail.source_info.fullname);
+          win_info->detail.source_info.fullname = NULL;
         }
       generic_win = win_info->detail.source_info.execution_info;
       if (generic_win != (struct tui_gen_win_info *) NULL)
@@ -731,10 +731,10 @@ tui_free_window (struct tui_win_info *win_info)
 	  generic_win->handle = (WINDOW *) NULL;
 	}
       tui_free_win_content (generic_win);
-      if (win_info->detail.source_info.filename)
+      if (win_info->detail.source_info.fullname)
         {
-          xfree (win_info->detail.source_info.filename);
-          win_info->detail.source_info.filename = 0;
+          xfree (win_info->detail.source_info.fullname);
+          win_info->detail.source_info.fullname = NULL;
         }
       generic_win = win_info->detail.source_info.execution_info;
       if (generic_win != (struct tui_gen_win_info *) NULL)
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -270,7 +270,10 @@ struct tui_source_info
   struct tui_gen_win_info *execution_info;
   int horizontal_offset;	/* Used for horizontal scroll.  */
   struct tui_line_or_address start_line_or_addr;
-  char *filename;
+
+  /* It is the resolved form as returned by symtab_to_fullname.  */
+  char *fullname;
+
   /* Architecture associated with code at this location.  */
   struct gdbarch *gdbarch;
 };
--- a/gdb/tui/tui-source.c
+++ b/gdb/tui/tui-source.c
@@ -99,9 +99,8 @@ tui_set_source_content (struct symtab *s,
                     xfree (TUI_SRC_WIN->generic.title);
                   TUI_SRC_WIN->generic.title = xstrdup (s->filename);
 
-                  if (src->filename)
-                    xfree (src->filename);
-                  src->filename = xstrdup (s->filename);
+		  xfree (src->fullname);
+		  src->fullname = xstrdup (symtab_to_fullname (s));
 
 		  /* Determine the threshold for the length of the
                      line and the offset to start the display.  */
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -463,7 +463,8 @@ tui_update_breakpoint_info (struct tui_win_info *win,
 	    {
 	      if ((win == TUI_SRC_WIN
 		   && loc->symtab != NULL
-		   && (filename_cmp (src->filename, loc->symtab->filename) == 0)
+		   && filename_cmp (src->fullname,
+				    symtab_to_fullname (loc->symtab)) == 0
 		   && line->line_or_addr.loa == LOA_LINE
 		   && loc->line_number == line->line_or_addr.u.line_no)
 		  || (win == TUI_DISASM_WIN


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]