This is the mail archive of the gdb-patches@sources.redhat.com 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]: Cleanup and gnu-ify some TUI location update code


Hi!

This patch cleans up some part of tuiStack.c to reduce the number of
exported function, make some of them static, GNU-ify some of them, and
have a central point when updating filename for TUI status line.

Committed on mainline.

	Stephane

2002-08-25  Stephane Carrez  <stcarrez@nerim.fr>

	* tuiSourceWin.c (tuiDisplayMainFunction): Update to use
	tuiUpdateLocatorFilename.
	* tuiStack.c (tuiSetLocatorInfo): Make it static.
	(tuiSetLocatorContent): Likewise.
	(tuiUpdateLocatorInfoFromFrame): Likewise.
	(tuiSwitchFilename): Remove.
	(tui_set_locator_filename): New function
	(tui_set_locator_info): Rename from tuiSetLocatorInfo to GNU-ify;
	use tui_set_locator_filename to record the filename.
	(tuiUpdateLocatorFilename): Likewise.
	(tuiUpdateLocatorInfoFromFrame): Update.
	(tuiSetLocatorContent): Likewise.
	* tuiStack.h (tuiClearLocatorContent): Don't declare.
	(tuiSetLocatorInfo, tuiSetLocatorContent): Likewise.
	(tuiUpdateLocatorInfoFromFrame, tuiSwitchFilename): Likewise.

Index: tuiSourceWin.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiSourceWin.c,v
retrieving revision 1.15
diff -u -p -r1.15 tuiSourceWin.c
--- tuiSourceWin.c	25 Aug 2002 11:00:46 -0000	1.15
+++ tuiSourceWin.c	25 Aug 2002 13:06:11 -0000
@@ -86,12 +86,13 @@ tuiDisplayMainFunction (void)
 
 	  tuiUpdateSourceWindowsWithAddr (addr);
 	  sal = find_pc_line (addr, 0);
-	  tuiSwitchFilename (sal.symtab->filename);
+          if (sal.symtab)
+             tuiUpdateLocatorFilename (sal.symtab->filename);
+          else
+             tuiUpdateLocatorFilename ("??");
 	}
     }
-
-  return;
-}				/* tuiDisplayMainFunction */
+}
 
 
 
Index: tuiStack.c
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiStack.c,v
retrieving revision 1.17
diff -u -p -r1.17 tuiStack.c
--- tuiStack.c	25 Aug 2002 10:04:08 -0000	1.17
+++ tuiStack.c	25 Aug 2002 13:06:11 -0000
@@ -60,8 +60,18 @@
    Returns a pointer to a static area holding the result.  */
 static char* tui_get_function_from_frame (struct frame_info *fi);
 
+/* Set the filename portion of the locator.  */
+static void tui_set_locator_filename (const char *filename);
+
+/* Update the locator, with the provided arguments.  */
+static void tui_set_locator_info (const char *filename, const char *procname,
+                                  int lineno, CORE_ADDR addr,
+                                  TuiLocatorElementPtr element);
+
 static void tui_update_command (char *, int);
 
+/* Function to set the content of the locator.  */
+static void tuiSetLocatorContent (struct frame_info *frameInfo);
 
 /* Get a printable name for the function at the address.
    The symbol name is demangled if demangling is turned on.
@@ -126,72 +136,47 @@ tuiShowLocatorContent (void)
   return;
 }				/* tuiShowLocatorContent */
 
+/* Set the filename portion of the locator.  */
+static void
+tui_set_locator_filename (const char *filename)
+{
+  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
+  TuiLocatorElementPtr element;
+
+  if (locator->content[0] == (Opaque) NULL)
+    tuiSetLocatorContent ((struct frame_info *) NULL);
+
+  element = &((TuiWinElementPtr) locator->content[0])->whichElement.locator;
+  element->fileName[0] = 0;
+  strcat_to_buf (element->fileName, MAX_LOCATOR_ELEMENT_LEN, filename);
+}
 
 /* Update the locator, with the provided arguments.  */
-void
-tuiSetLocatorInfo (char *fname, char *procname, int lineNo,
-                   CORE_ADDR addr, TuiLocatorElementPtr element)
+static void
+tui_set_locator_info (const char *filename, const char *procname, int lineno,
+                      CORE_ADDR addr, TuiLocatorElementPtr element)
 {
-  element->fileName[0] = (char) 0;
   element->procName[0] = (char) 0;
-  strcat_to_buf (element->fileName, MAX_LOCATOR_ELEMENT_LEN, fname);
   strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname);
-  element->lineNo = lineNo;
+  element->lineNo = lineno;
   element->addr = addr;
+  tui_set_locator_filename (filename);
 }
 
 
-/*
-   ** tuiUpdateLocatorFilename().
-   **        Update only the filename portion of the locator.
- */
-void
-tuiUpdateLocatorFilename (const char *fileName)
-{
-  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
-
-  if (locator->content[0] == (Opaque) NULL)
-    tuiSetLocatorContent ((struct frame_info *) NULL);
-  ((TuiWinElementPtr) locator->content[0])->whichElement.locator.fileName[0] = (char) 0;
-  strcat_to_buf (((TuiWinElementPtr) locator->content[0])->whichElement.locator.fileName,
-		 MAX_LOCATOR_ELEMENT_LEN,
-		 fileName);
-
-  tuiShowLocatorContent ();
-
-  return;
-}				/* tuiUpdateLocatorFilename */
-
-/*
-   ** tuiSwitchFilename().
-   **   Update the filename portion of the locator. Clear the other info in locator.
-   ** (elz)
- */
+/* Update only the filename portion of the locator.  */
 void
-tuiSwitchFilename (char *fileName)
+tuiUpdateLocatorFilename (const char *filename)
 {
-  TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
-
-  if (locator->content[0] == (Opaque) NULL)
-    tuiSetLocatorContent ((struct frame_info *) NULL);
-  ((TuiWinElementPtr) locator->content[0])->whichElement.locator.fileName[0] = (char) 0;
-
-  tuiSetLocatorInfo (fileName,
-		     (char *) NULL,
-		     0,
-		     (CORE_ADDR) 0,
-	   &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
-
+  tui_set_locator_filename (filename);
   tuiShowLocatorContent ();
-
-  return;
-}				/* tuiSwitchFilename */
+}
 
 /*
    ** tuiUpdateLocatorInfoFromFrame().
    **        Function to update the locator, with the information extracted from frameInfo
  */
-void
+static void
 tuiUpdateLocatorInfoFromFrame (struct frame_info *frameInfo,
                                TuiLocatorElementPtr element)
 {
@@ -203,27 +188,24 @@ tuiUpdateLocatorInfoFromFrame (struct fr
 			    !frameInfo->next->signal_handler_caller &&
 			    !frame_in_dummy (frameInfo->next)));
   if (symtabAndLine.symtab && symtabAndLine.symtab->filename)
-    tuiSetLocatorInfo (symtabAndLine.symtab->filename,
-		       tui_get_function_from_frame (frameInfo),
-		       symtabAndLine.line,
-		       frameInfo->pc,
-		       element);
+    tui_set_locator_info (symtabAndLine.symtab->filename,
+                          tui_get_function_from_frame (frameInfo),
+                          symtabAndLine.line,
+                          frameInfo->pc,
+                          element);
   else
-    tuiSetLocatorInfo ((char *) NULL,
-		       tui_get_function_from_frame (frameInfo),
-		       0,
-		       frameInfo->pc,
-		       element);
+    tui_set_locator_info ((char *) NULL,
+                          tui_get_function_from_frame (frameInfo),
+                          0,
+                          frameInfo->pc,
+                          element);
 
   return;
 }				/* tuiUpdateLocatorInfoFromFrame */
 
 
-/*
-   ** tuiSetLocatorContent().
-   **        Function to set the content of the locator
- */
-void
+/* Function to set the content of the locator.  */
+static void
 tuiSetLocatorContent (struct frame_info *frameInfo)
 {
   TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
@@ -244,10 +226,10 @@ tuiSetLocatorContent (struct frame_info 
     tuiUpdateLocatorInfoFromFrame (frameInfo,
 	   &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
   else
-    tuiSetLocatorInfo ((char *) NULL,
-		       (char *) NULL,
-		       0,
-		       (CORE_ADDR) 0,
+    tui_set_locator_info ((char *) NULL,
+                          (char *) NULL,
+                          0,
+                          (CORE_ADDR) 0,
 	   &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
   return;
 }				/* tuiSetLocatorContent */
Index: tuiStack.h
===================================================================
RCS file: /cvs/src/src/gdb/tui/tuiStack.h,v
retrieving revision 1.9
diff -u -p -r1.9 tuiStack.h
--- tuiStack.h	25 Aug 2002 10:04:08 -0000	1.9
+++ tuiStack.h	25 Aug 2002 13:06:11 -0000
@@ -25,17 +25,9 @@
    ** This header file supports
  */
 
-extern void tuiSetLocatorInfo (char *, char *, int, CORE_ADDR,
-			       TuiLocatorElementPtr);
 extern void tuiUpdateLocatorFilename (const char *);
-extern void tuiUpdateLocatorInfoFromFrame
-  (struct frame_info *, TuiLocatorElementPtr);
-extern void tuiSetLocatorContent (struct frame_info *);
 extern void tuiShowLocatorContent (void);
-extern void tuiClearLocatorContent (void);
-extern void tuiSwitchFilename (char *);
 extern void tuiShowFrameInfo (struct frame_info *);
-
 
 #endif
 /*_TUI_STACK_H*/

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