* source.c (get_current_or_default_source_symtab_and_line): Remove

function.
	(set_default_source_symtab_and_line): New function. Attempts to
	determine a source file to list lines from if one is not currently
	defined.
	(get_current_source_symtab_and_line): Initialize sal.pc and
        sal.end fields.
	(set_current_source_symtab_and_line): Mark argument as const.
	* source.h: Update declarations and comments.
	* linespec.c (decode_line_1): Replace call to removed routine above.
	* stack.c (print_frame_info_base): Ditto.
	* cli/cli-cmds.c (edit_command): Ditto.
	(list_command): Ditto.
This commit is contained in:
Fernando Nasser
2002-09-22 22:18:41 +00:00
parent c214a6fd4d
commit 53cb0458d6
6 changed files with 61 additions and 39 deletions

View File

@ -152,21 +152,22 @@ get_current_source_symtab_and_line (void)
cursal.symtab = current_source_symtab;
cursal.line = current_source_line;
cursal.pc = 0;
cursal.end = 0;
return cursal;
}
/* Return the current source file for listing and next line to list.
If a file is not set, try and get a default.
/* If the current source file for listing is not set, try and get a default.
Usually called before get_current_source_symtab_and_line() is called.
It may err out if a default cannot be determined.
Depending on where it is called, it can recurse as the process of
determining a new default may call the caler!
Use get_current_source_symtab_and_line instead to get whatever
we have without erroring out or trying to get a default.
NOTE: The returned sal pc and end fields are not valid. */
We must be cautious about where it is called, as it can recurse as the
process of determining a new default may call the caller!
Use get_current_source_symtab_and_line only to get whatever
we have without erroring out or trying to get a default. */
struct symtab_and_line
get_current_or_default_source_symtab_and_line (void)
void
set_default_source_symtab_and_line (void)
{
struct symtab_and_line cursal;
@ -176,21 +177,15 @@ get_current_or_default_source_symtab_and_line (void)
/* Pull in a current source symtab if necessary */
if (current_source_symtab == 0)
select_source_symtab (0);
cursal.symtab = current_source_symtab;
cursal.line = current_source_line;
cursal.pc = 0;
cursal.end = 0;
return cursal;
}
/* Return the current default file for listing and next line to list
(the returned sal pc and end fields are not valid.)
and set the surrent default to whatever is in SAL */
and set the current default to whatever is in SAL.
NOTE: The returned sal pc and end fields are not valid. */
struct symtab_and_line
set_current_source_symtab_and_line (struct symtab_and_line *sal)
set_current_source_symtab_and_line (const struct symtab_and_line *sal)
{
struct symtab_and_line cursal;