2010-05-17 Michael Snyder <msnyder@vmware.com>
[deliverable/binutils-gdb.git] / gdb / tui / tui-data.c
index 9f4344d7370e7a7abc7bf16c50578f53af1c729f..ee88cf13e4e281e2a54d8e65d306c2eeccdf17d7 100644 (file)
@@ -1,7 +1,7 @@
 /* TUI data manipulation routines.
 
-   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008,
+   2009, 2010 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
@@ -9,7 +9,7 @@
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -18,9 +18,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "symtab.h"
@@ -47,19 +45,24 @@ static struct tui_win_info *src_win_list[2];
 static struct tui_list source_windows = {src_win_list, 0};
 static int default_tab_len = DEFAULT_TAB_LEN;
 static struct tui_win_info *win_with_focus = (struct tui_win_info *) NULL;
-static struct tui_layout_def layout_def =
-{SRC_WIN,                      /* DISPLAY_MODE */
- FALSE,                                /* SPLIT */
- TUI_UNDEFINED_REGS,           /* REGS_DISPLAY_TYPE */
- TUI_SFLOAT_REGS};             /* FLOAT_REGS_DISPLAY_TYPE */
+static struct tui_layout_def layout_def = {
+  SRC_WIN,                     /* DISPLAY_MODE */
+  FALSE,                       /* SPLIT */
+  TUI_UNDEFINED_REGS,          /* REGS_DISPLAY_TYPE */
+  TUI_SFLOAT_REGS};            /* FLOAT_REGS_DISPLAY_TYPE */
+
 static int win_resized = FALSE;
 
 
 /*********************************
 ** Static function forward decls
 **********************************/
-static void free_content (tui_win_content, int, enum tui_win_type);
-static void free_content_elements (tui_win_content, int, enum tui_win_type);
+static void free_content (tui_win_content, 
+                         int, 
+                         enum tui_win_type);
+static void free_content_elements (tui_win_content, 
+                                  int, 
+                                  enum tui_win_type);
 
 
 
@@ -82,12 +85,13 @@ tui_win_is_auxillary (enum tui_win_type win_type)
 int
 tui_win_has_locator (struct tui_win_info *win_info)
 {
-  return (win_info != NULL \
+  return (win_info != NULL 
          && win_info->detail.source_info.has_locator);
 }
 
 void
-tui_set_win_highlight (struct tui_win_info *win_info, int highlight)
+tui_set_win_highlight (struct tui_win_info *win_info, 
+                      int highlight)
 {
   if (win_info != NULL)
     win_info->is_highlighted = highlight;
@@ -207,6 +211,7 @@ tui_clear_win_detail (struct tui_win_info *win_info)
        {
        case SRC_WIN:
        case DISASSEM_WIN:
+         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.horizontal_offset = 0;
@@ -309,7 +314,8 @@ tui_set_current_layout_to (enum tui_layout_type new_layout)
 
 /* Set the origin of the window.  */
 void
-set_gen_win_origin (struct tui_gen_win_info *win_info, int x, int y)
+set_gen_win_origin (struct tui_gen_win_info *win_info, 
+                   int x, int y)
 {
   win_info->origin.x = x;
   win_info->origin.y = y;
@@ -335,7 +341,8 @@ tui_next_win (struct tui_win_info *cur_win)
     type = cur_win->generic.type + 1;
   while (type != cur_win->generic.type && (next_win == NULL))
     {
-      if (tui_win_list[type] && tui_win_list[type]->generic.is_visible)
+      if (tui_win_list[type]
+         && tui_win_list[type]->generic.is_visible)
        next_win = tui_win_list[type];
       else
        {
@@ -364,7 +371,8 @@ tui_prev_win (struct tui_win_info *cur_win)
     type = cur_win->generic.type - 1;
   while (type != cur_win->generic.type && (prev == NULL))
     {
-      if (tui_win_list[type]->generic.is_visible)
+      if (tui_win_list[type]
+         && tui_win_list[type]->generic.is_visible)
        prev = tui_win_list[type];
       else
        {
@@ -394,8 +402,8 @@ tui_partial_win_by_name (char *name)
           if (tui_win_list[i] != 0)
             {
               char *cur_name = tui_win_name (&tui_win_list[i]->generic);
-              if (strlen (name) <= strlen (cur_name) &&
-                  strncmp (name, cur_name, strlen (name)) == 0)
+              if (strlen (name) <= strlen (cur_name)
+                 && strncmp (name, cur_name, strlen (name)) == 0)
                 win_info = tui_win_list[i];
             }
          i++;
@@ -476,8 +484,9 @@ tui_init_generic_part (struct tui_gen_win_info *win)
 
 /* init_content_element().
  */
-void
-init_content_element (struct tui_win_element *element, enum tui_win_type type)
+static void
+init_content_element (struct tui_win_element *element, 
+                     enum tui_win_type type)
 {
   element->highlight = FALSE;
   switch (type)
@@ -524,7 +533,7 @@ init_content_element (struct tui_win_element *element, enum tui_win_type type)
     }
 }
 
-void
+static void
 init_win_info (struct tui_win_info *win_info)
 {
   tui_init_generic_part (&win_info->generic);
@@ -537,6 +546,7 @@ init_win_info (struct tui_win_info *win_info)
       win_info->detail.source_info.execution_info = (struct tui_gen_win_info *) NULL;
       win_info->detail.source_info.has_locator = FALSE;
       win_info->detail.source_info.horizontal_offset = 0;
+      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;
@@ -627,7 +637,8 @@ tui_alloc_content (int num_elements, enum tui_win_type type)
    there is a memory allocation error, in which case, (-1) is
    returned.  */
 int
-tui_add_content_elements (struct tui_gen_win_info *win_info, int num_elements)
+tui_add_content_elements (struct tui_gen_win_info *win_info, 
+                         int num_elements)
 {
   struct tui_win_element *element_ptr;
   int i, index_start;
@@ -809,7 +820,8 @@ tui_free_win_content (struct tui_gen_win_info *win_info)
 
 
 void
-tui_del_data_windows (tui_win_content content, int content_size)
+tui_del_data_windows (tui_win_content content, 
+                     int content_size)
 {
   int i;
 
@@ -831,7 +843,8 @@ tui_del_data_windows (tui_win_content content, int content_size)
 
 
 void
-tui_free_data_content (tui_win_content content, int content_size)
+tui_free_data_content (tui_win_content content, 
+                      int content_size)
 {
   int i;
 
@@ -850,8 +863,8 @@ tui_free_data_content (tui_win_content content, int content_size)
        }
     }
   free_content (content,
-              content_size,
-              DATA_WIN);
+               content_size,
+               DATA_WIN);
 }
 
 
@@ -861,7 +874,9 @@ tui_free_data_content (tui_win_content content, int content_size)
 
 
 static void
-free_content (tui_win_content content, int content_size, enum tui_win_type win_type)
+free_content (tui_win_content content, 
+             int content_size, 
+             enum tui_win_type win_type)
 {
   if (content != (tui_win_content) NULL)
     {
@@ -874,7 +889,9 @@ free_content (tui_win_content content, int content_size, enum tui_win_type win_t
 /* free_content_elements().
  */
 static void
-free_content_elements (tui_win_content content, int content_size, enum tui_win_type type)
+free_content_elements (tui_win_content content, 
+                      int content_size, 
+                      enum tui_win_type type)
 {
   if (content != (tui_win_content) NULL)
     {
This page took 0.026921 seconds and 4 git commands to generate.