Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: gdb/tui/tui-source.c

Issue 124383005: GDB 7.6.50 (Closed) Base URL: http://git.chromium.org/native_client/nacl-gdb.git@upstream
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gdb/tui/tui-source.h ('k') | gdb/tui/tui-stack.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gdb/tui/tui-source.c
diff --git a/gdb/tui/tui-source.c b/gdb/tui/tui-source.c
index 9ba9b1d0f0ef3870f463d2e619d78dc90566cb4a..a1b533e4e838d82ebdb81266b13b10bc8f677251 100644
--- a/gdb/tui/tui-source.c
+++ b/gdb/tui/tui-source.c
@@ -1,6 +1,6 @@
/* TUI display source window.
- Copyright (C) 1998-2004, 2007-2012 Free Software Foundation, Inc.
+ Copyright (C) 1998-2013 Free Software Foundation, Inc.
Contributed by Hewlett-Packard Company.
@@ -35,7 +35,7 @@
#include "tui/tui-winsource.h"
#include "tui/tui-source.h"
-#include "gdb_string.h"
+#include <string.h>
#include "gdb_curses.h"
/* Function to display source in the source window. */
@@ -46,7 +46,7 @@ tui_set_source_content (struct symtab *s,
{
enum tui_status ret = TUI_FAILURE;
- if (s != (struct symtab *) NULL && s->filename != (char *) NULL)
+ if (s != (struct symtab *) NULL)
{
FILE *stream;
int i, desc, c, line_width, nlines;
@@ -63,9 +63,10 @@ tui_set_source_content (struct symtab *s,
{
if (!noerror)
{
- char *name = alloca (strlen (s->filename) + 100);
+ const char *filename = symtab_to_filename_for_display (s);
+ char *name = alloca (strlen (filename) + 100);
- sprintf (name, "%s:%d", s->filename, line_no);
+ sprintf (name, "%s:%d", filename, line_no);
print_sys_errmsg (name, errno);
}
ret = TUI_FAILURE;
@@ -78,14 +79,16 @@ tui_set_source_content (struct symtab *s,
if (line_no < 1 || line_no > s->nlines)
{
close (desc);
- printf_unfiltered (
- "Line number %d out of range; %s has %d lines.\n",
- line_no, s->filename, s->nlines);
+ printf_unfiltered ("Line number %d out of range; "
+ "%s has %d lines.\n",
+ line_no,
+ symtab_to_filename_for_display (s),
+ s->nlines);
}
else if (lseek (desc, s->line_charpos[line_no - 1], 0) < 0)
{
close (desc);
- perror_with_name (s->filename);
+ perror_with_name (symtab_to_filename_for_display (s));
}
else
{
@@ -94,14 +97,14 @@ tui_set_source_content (struct symtab *s,
= tui_locator_win_info_ptr ();
struct tui_source_info *src
= &TUI_SRC_WIN->detail.source_info;
+ const char *s_filename = symtab_to_filename_for_display (s);
if (TUI_SRC_WIN->generic.title)
xfree (TUI_SRC_WIN->generic.title);
- TUI_SRC_WIN->generic.title = xstrdup (s->filename);
+ 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. */
@@ -150,8 +153,8 @@ tui_set_source_content (struct symtab *s,
cur_line_no;
element->which_element.source.is_exec_point =
(filename_cmp (((struct tui_win_element *)
- locator->content[0])->which_element.locator.file_name,
- s->filename) == 0
+ locator->content[0])->which_element.locator.full_name,
+ symtab_to_fullname (s)) == 0
&& cur_line_no == ((struct tui_win_element *)
locator->content[0])->which_element.locator.line_no);
if (c != EOF)
@@ -332,13 +335,14 @@ tui_show_symtab_source (struct gdbarch *gdbarch, struct symtab *s,
/* Answer whether the source is currently displayed in the source
window. */
int
-tui_source_is_displayed (char *fname)
+tui_source_is_displayed (const char *fullname)
{
- return (TUI_SRC_WIN->generic.content_in_use
+ return (TUI_SRC_WIN != NULL
+ && TUI_SRC_WIN->generic.content_in_use
&& (filename_cmp (((struct tui_win_element *)
(tui_locator_win_info_ptr ())->
- content[0])->which_element.locator.file_name,
- fname) == 0));
+ content[0])->which_element.locator.full_name,
+ fullname) == 0));
}
« no previous file with comments | « gdb/tui/tui-source.h ('k') | gdb/tui/tui-stack.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698