aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/tui/ChangeLog18
-rw-r--r--gdb/tui/tuiSourceWin.c9
-rw-r--r--gdb/tui/tuiStack.c118
-rw-r--r--gdb/tui/tuiStack.h8
4 files changed, 73 insertions, 80 deletions
diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog
index ef71170..d7148ac 100644
--- a/gdb/tui/ChangeLog
+++ b/gdb/tui/ChangeLog
@@ -1,5 +1,23 @@
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.
+
+2002-08-25 Stephane Carrez <stcarrez@nerim.fr>
+
* tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint
comparison; cleanup.
* tuiSource.c (tuiSetSourceContent): Set window title and filename.
diff --git a/gdb/tui/tuiSourceWin.c b/gdb/tui/tuiSourceWin.c
index 59e5f3b..73090c7 100644
--- a/gdb/tui/tuiSourceWin.c
+++ b/gdb/tui/tuiSourceWin.c
@@ -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 */
+}
diff --git a/gdb/tui/tuiStack.c b/gdb/tui/tuiStack.c
index e2c8a27..24ccf15 100644
--- a/gdb/tui/tuiStack.c
+++ b/gdb/tui/tuiStack.c
@@ -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 frame_info *frameInfo,
!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 *frameInfo)
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 */
diff --git a/gdb/tui/tuiStack.h b/gdb/tui/tuiStack.h
index 0ffb68f..14be497 100644
--- a/gdb/tui/tuiStack.h
+++ b/gdb/tui/tuiStack.h
@@ -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*/