This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[patch] Small style changes to cli code
- From: Fernando Nasser <fnasser at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 22 Sep 2002 18:20:15 -0400
- Subject: [patch] Small style changes to cli code
- Organization: Red Hat Canada
Second part of some changes requested by Andrew Cagney.
No changes in the logic.
* 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.
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9
Index: source.c
===================================================================
RCS file: /cvs/src/src/gdb/source.c,v
retrieving revision 1.33
diff -c -p -r1.33 source.c
*** source.c 22 Sep 2002 20:29:52 -0000 1.33
--- source.c 22 Sep 2002 21:13:29 -0000
*************** get_current_source_symtab_and_line (void
*** 152,172 ****
cursal.symtab = current_source_symtab;
cursal.line = current_source_line;
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.
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. */
! struct symtab_and_line
! get_current_or_default_source_symtab_and_line (void)
{
struct symtab_and_line cursal;
--- 152,173 ----
cursal.symtab = current_source_symtab;
cursal.line = current_source_line;
+ cursal.pc = 0;
+ cursal.end = 0;
return cursal;
}
! /* 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.
! 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. */
! void
! set_default_source_symtab_and_line (void)
{
struct symtab_and_line cursal;
*************** get_current_or_default_source_symtab_and
*** 176,196 ****
/* 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 */
struct symtab_and_line
! set_current_source_symtab_and_line (struct symtab_and_line *sal)
{
struct symtab_and_line cursal;
--- 177,191 ----
/* Pull in a current source symtab if necessary */
if (current_source_symtab == 0)
select_source_symtab (0);
}
/* 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 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 (const struct symtab_and_line *sal)
{
struct symtab_and_line cursal;
Index: source.h
===================================================================
RCS file: /cvs/src/src/gdb/source.h,v
retrieving revision 1.2
diff -c -p -r1.2 source.h
*** source.h 20 Sep 2002 14:58:58 -0000 1.2
--- source.h 22 Sep 2002 21:13:29 -0000
*************** extern int get_lines_to_list (void);
*** 44,66 ****
/* Return the current source file for listing and next line to list.
NOTE: The returned sal pc and end fields are not valid. */
! extern void clear_current_source_symtab_and_line (void);
! /* Return the current source file for listing and next line to list.
! If a file is not set, try and get a default.
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. */
! extern struct symtab_and_line get_current_source_symtab_and_line (void);
/* 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 */
! extern struct symtab_and_line get_current_or_default_source_symtab_and_line (void);
/* Reset any information stored about a default file and line to print. */
! extern struct symtab_and_line set_current_source_symtab_and_line (struct symtab_and_line *);
#endif
--- 44,66 ----
/* Return the current source file for listing and next line to list.
NOTE: The returned sal pc and end fields are not valid. */
! extern struct symtab_and_line get_current_source_symtab_and_line (void);
! /* 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.
! 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. */
! extern void set_default_source_symtab_and_line (void);
/* 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 current default to whatever is in SAL.
! NOTE: The returned sal pc and end fields are not valid. */
! extern struct symtab_and_line set_current_source_symtab_and_line (const struct symtab_and_line *);
/* Reset any information stored about a default file and line to print. */
! extern void clear_current_source_symtab_and_line (void);
#endif
Index: linespec.c
===================================================================
RCS file: /cvs/src/src/gdb/linespec.c,v
retrieving revision 1.22
diff -c -p -r1.22 linespec.c
*** linespec.c 20 Sep 2002 14:58:58 -0000 1.22
--- linespec.c 22 Sep 2002 21:13:29 -0000
*************** decode_line_1 (char **argptr, int funfir
*** 1027,1039 ****
/* This is where we need to make sure that we have good defaults.
We must guarantee that this section of code is never executed
when we are called with just a function name, since
! get_current_or_default_source_symtab_and_line uses
select_source_symtab that calls us with such an argument */
if (s == 0 && default_symtab == 0)
{
! struct symtab_and_line cursal =
! get_current_or_default_source_symtab_and_line ();
default_symtab = cursal.symtab;
default_line = cursal.line;
--- 1027,1042 ----
/* This is where we need to make sure that we have good defaults.
We must guarantee that this section of code is never executed
when we are called with just a function name, since
! set_default_source_symtab_and_line uses
select_source_symtab that calls us with such an argument */
if (s == 0 && default_symtab == 0)
{
! struct symtab_and_line cursal;
!
! /* Make sure we have at least a default source file. */
! set_default_source_symtab_and_line ();
! cursal = get_current_source_symtab_and_line ();
default_symtab = cursal.symtab;
default_line = cursal.line;
Index: stack.c
===================================================================
RCS file: /cvs/src/src/gdb/stack.c,v
retrieving revision 1.43
diff -c -p -r1.43 stack.c
*** stack.c 20 Sep 2002 14:58:58 -0000 1.43
--- stack.c 22 Sep 2002 21:13:29 -0000
*************** print_frame_info_base (struct frame_info
*** 434,440 ****
print_source_lines (sal.symtab, sal.line, sal.line + 1, 0);
}
}
! cursal = get_current_or_default_source_symtab_and_line ();
cursal.line = max (sal.line - get_lines_to_list () / 2, 1);
set_current_source_symtab_and_line (&cursal);
}
--- 434,442 ----
print_source_lines (sal.symtab, sal.line, sal.line + 1, 0);
}
}
! /* Make sure we have at least a default source file */
! set_default_source_symtab_and_line ();
! cursal = get_current_source_symtab_and_line ();
cursal.line = max (sal.line - get_lines_to_list () / 2, 1);
set_current_source_symtab_and_line (&cursal);
}
Index: cli/cli-cmds.c
===================================================================
RCS file: /cvs/src/src/gdb/cli/cli-cmds.c,v
retrieving revision 1.21
diff -c -p -r1.21 cli-cmds.c
*** cli/cli-cmds.c 20 Sep 2002 14:58:59 -0000 1.21
--- cli/cli-cmds.c 22 Sep 2002 21:13:30 -0000
*************** edit_command (char *arg, int from_tty)
*** 552,558 ****
/* Pull in the current default source line if necessary */
if (arg == 0)
! sal = get_current_or_default_source_symtab_and_line ();
/* bare "edit" edits file with present line. */
--- 552,561 ----
/* Pull in the current default source line if necessary */
if (arg == 0)
! {
! set_default_source_symtab_and_line ();
! sal = get_current_source_symtab_and_line ();
! }
/* bare "edit" edits file with present line. */
*************** list_command (char *arg, int from_tty)
*** 655,661 ****
/* Pull in the current default source line if necessary */
if (arg == 0 || arg[0] == '+' || arg[0] == '-')
! cursal = get_current_or_default_source_symtab_and_line ();
/* "l" or "l +" lists next ten lines. */
--- 658,667 ----
/* Pull in the current default source line if necessary */
if (arg == 0 || arg[0] == '+' || arg[0] == '-')
! {
! set_default_source_symtab_and_line ();
! cursal = get_current_source_symtab_and_line ();
! }
/* "l" or "l +" lists next ten lines. */