From 53cb0458d6870af83b2bc9fab8738a29b64f702e Mon Sep 17 00:00:00 2001 From: Fernando Nasser Date: Sun, 22 Sep 2002 22:18:41 +0000 Subject: * 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. --- gdb/source.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'gdb/source.c') 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; -- cgit v1.1