* 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.
This commit is contained in:
Stephane Carrez 2002-08-25 13:13:20 +00:00
parent bc6b7f04ca
commit 2e17b76385
4 changed files with 73 additions and 80 deletions

View file

@ -1,3 +1,21 @@
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> 2002-08-25 Stephane Carrez <stcarrez@nerim.fr>
* tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint * tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint

View file

@ -86,12 +86,13 @@ tuiDisplayMainFunction (void)
tuiUpdateSourceWindowsWithAddr (addr); tuiUpdateSourceWindowsWithAddr (addr);
sal = find_pc_line (addr, 0); sal = find_pc_line (addr, 0);
tuiSwitchFilename (sal.symtab->filename); if (sal.symtab)
tuiUpdateLocatorFilename (sal.symtab->filename);
else
tuiUpdateLocatorFilename ("??");
} }
} }
}
return;
} /* tuiDisplayMainFunction */

View file

@ -60,8 +60,18 @@
Returns a pointer to a static area holding the result. */ Returns a pointer to a static area holding the result. */
static char* tui_get_function_from_frame (struct frame_info *fi); 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); 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. /* Get a printable name for the function at the address.
The symbol name is demangled if demangling is turned on. The symbol name is demangled if demangling is turned on.
@ -126,72 +136,47 @@ tuiShowLocatorContent (void)
return; return;
} /* tuiShowLocatorContent */ } /* 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. */ /* Update the locator, with the provided arguments. */
void static void
tuiSetLocatorInfo (char *fname, char *procname, int lineNo, tui_set_locator_info (const char *filename, const char *procname, int lineno,
CORE_ADDR addr, TuiLocatorElementPtr element) CORE_ADDR addr, TuiLocatorElementPtr element)
{ {
element->fileName[0] = (char) 0;
element->procName[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); strcat_to_buf (element->procName, MAX_LOCATOR_ELEMENT_LEN, procname);
element->lineNo = lineNo; element->lineNo = lineno;
element->addr = addr; element->addr = addr;
tui_set_locator_filename (filename);
} }
/* /* Update only the filename portion of the locator. */
** tuiUpdateLocatorFilename().
** Update only the filename portion of the locator.
*/
void void
tuiUpdateLocatorFilename (const char *fileName) tuiUpdateLocatorFilename (const char *filename)
{ {
TuiGenWinInfoPtr locator = locatorWinInfoPtr (); tui_set_locator_filename (filename);
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 (); tuiShowLocatorContent ();
}
return;
} /* tuiUpdateLocatorFilename */
/*
** tuiSwitchFilename().
** Update the filename portion of the locator. Clear the other info in locator.
** (elz)
*/
void
tuiSwitchFilename (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);
tuiShowLocatorContent ();
return;
} /* tuiSwitchFilename */
/* /*
** tuiUpdateLocatorInfoFromFrame(). ** tuiUpdateLocatorInfoFromFrame().
** Function to update the locator, with the information extracted from frameInfo ** Function to update the locator, with the information extracted from frameInfo
*/ */
void static void
tuiUpdateLocatorInfoFromFrame (struct frame_info *frameInfo, tuiUpdateLocatorInfoFromFrame (struct frame_info *frameInfo,
TuiLocatorElementPtr element) TuiLocatorElementPtr element)
{ {
@ -203,27 +188,24 @@ tuiUpdateLocatorInfoFromFrame (struct frame_info *frameInfo,
!frameInfo->next->signal_handler_caller && !frameInfo->next->signal_handler_caller &&
!frame_in_dummy (frameInfo->next))); !frame_in_dummy (frameInfo->next)));
if (symtabAndLine.symtab && symtabAndLine.symtab->filename) if (symtabAndLine.symtab && symtabAndLine.symtab->filename)
tuiSetLocatorInfo (symtabAndLine.symtab->filename, tui_set_locator_info (symtabAndLine.symtab->filename,
tui_get_function_from_frame (frameInfo), tui_get_function_from_frame (frameInfo),
symtabAndLine.line, symtabAndLine.line,
frameInfo->pc, frameInfo->pc,
element); element);
else else
tuiSetLocatorInfo ((char *) NULL, tui_set_locator_info ((char *) NULL,
tui_get_function_from_frame (frameInfo), tui_get_function_from_frame (frameInfo),
0, 0,
frameInfo->pc, frameInfo->pc,
element); element);
return; return;
} /* tuiUpdateLocatorInfoFromFrame */ } /* tuiUpdateLocatorInfoFromFrame */
/* /* Function to set the content of the locator. */
** tuiSetLocatorContent(). static void
** Function to set the content of the locator
*/
void
tuiSetLocatorContent (struct frame_info *frameInfo) tuiSetLocatorContent (struct frame_info *frameInfo)
{ {
TuiGenWinInfoPtr locator = locatorWinInfoPtr (); TuiGenWinInfoPtr locator = locatorWinInfoPtr ();
@ -244,10 +226,10 @@ tuiSetLocatorContent (struct frame_info *frameInfo)
tuiUpdateLocatorInfoFromFrame (frameInfo, tuiUpdateLocatorInfoFromFrame (frameInfo,
&((TuiWinElementPtr) locator->content[0])->whichElement.locator); &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
else else
tuiSetLocatorInfo ((char *) NULL, tui_set_locator_info ((char *) NULL,
(char *) NULL, (char *) NULL,
0, 0,
(CORE_ADDR) 0, (CORE_ADDR) 0,
&((TuiWinElementPtr) locator->content[0])->whichElement.locator); &((TuiWinElementPtr) locator->content[0])->whichElement.locator);
return; return;
} /* tuiSetLocatorContent */ } /* tuiSetLocatorContent */

View file

@ -25,17 +25,9 @@
** This header file supports ** This header file supports
*/ */
extern void tuiSetLocatorInfo (char *, char *, int, CORE_ADDR,
TuiLocatorElementPtr);
extern void tuiUpdateLocatorFilename (const char *); extern void tuiUpdateLocatorFilename (const char *);
extern void tuiUpdateLocatorInfoFromFrame
(struct frame_info *, TuiLocatorElementPtr);
extern void tuiSetLocatorContent (struct frame_info *);
extern void tuiShowLocatorContent (void); extern void tuiShowLocatorContent (void);
extern void tuiClearLocatorContent (void);
extern void tuiSwitchFilename (char *);
extern void tuiShowFrameInfo (struct frame_info *); extern void tuiShowFrameInfo (struct frame_info *);
#endif #endif
/*_TUI_STACK_H*/ /*_TUI_STACK_H*/