aboutsummaryrefslogtreecommitdiff
path: root/gdb/source.c
diff options
context:
space:
mode:
authorFernando Nasser <fnasser@redhat.com>2002-09-22 22:18:41 +0000
committerFernando Nasser <fnasser@redhat.com>2002-09-22 22:18:41 +0000
commit53cb0458d6870af83b2bc9fab8738a29b64f702e (patch)
treeb264bc0d29862d82e707c49717eafad38055c402 /gdb/source.c
parentc214a6fd4d4e7d6d8bfd1dc355442070a63ca61a (diff)
downloadgdb-53cb0458d6870af83b2bc9fab8738a29b64f702e.zip
gdb-53cb0458d6870af83b2bc9fab8738a29b64f702e.tar.gz
gdb-53cb0458d6870af83b2bc9fab8738a29b64f702e.tar.bz2
* 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.
Diffstat (limited to 'gdb/source.c')
-rw-r--r--gdb/source.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/gdb/source.c b/gdb/source.c
index d2e47fe..5c88a55 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -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;