* stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
exception_print code path.
(backtrace_command): Remove variable e. Protect arg by make_cleanup in
advance. Simplify memset. Remove TRY_CATCH. Remove explicit xfree.
(backtrace_full_command): Remove variable e. Remove TRY_CATCH.
2011-08-01 Jan Kratochvil <jan.kratochvil@redhat.com>
2011-08-01 Jan Kratochvil <jan.kratochvil@redhat.com>
+ * stack.c (do_gdb_disassembly): Use RETURN_MASK_ERROR, simplify the
+ exception_print code path.
+ (backtrace_command): Remove variable e. Protect arg by make_cleanup in
+ advance. Simplify memset. Remove TRY_CATCH. Remove explicit xfree.
+ (backtrace_full_command): Remove variable e. Remove TRY_CATCH.
+
+2011-08-01 Jan Kratochvil <jan.kratochvil@redhat.com>
+
Code cleanup.
* stack.c (struct print_stack_frame_args, print_stack_frame_stub):
Remove, merge them into ...
Code cleanup.
* stack.c (struct print_stack_frame_args, print_stack_frame_stub):
Remove, merge them into ...
{
volatile struct gdb_exception exception;
{
volatile struct gdb_exception exception;
- TRY_CATCH (exception, RETURN_MASK_ALL)
+ TRY_CATCH (exception, RETURN_MASK_ERROR)
{
gdb_disassembly (gdbarch, uiout, 0, DISASSEMBLY_RAW_INSN, how_many, low,
high);
}
{
gdb_disassembly (gdbarch, uiout, 0, DISASSEMBLY_RAW_INSN, how_many, low,
high);
}
- /* If an exception was thrown while doing the disassembly, print
- the error message, to give the user a clue of what happened. */
- if (exception.reason == RETURN_ERROR)
- exception_print (gdb_stderr, exception);
+ if (exception.reason < 0)
+ {
+ /* If an exception was thrown while doing the disassembly, print
+ the error message, to give the user a clue of what happened. */
+ exception_print (gdb_stderr, exception);
+ }
}
/* Print information about frame FRAME. The output is format according
}
/* Print information about frame FRAME. The output is format according
{
struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
int fulltrace_arg = -1, arglen = 0, argc = 0;
{
struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
int fulltrace_arg = -1, arglen = 0, argc = 0;
- volatile struct gdb_exception e;
if (arglen > 0)
{
arg = xmalloc (arglen + 1);
if (arglen > 0)
{
arg = xmalloc (arglen + 1);
- memset (arg, 0, arglen + 1);
+ make_cleanup (xfree, arg);
+ arg[0] = 0;
for (i = 0; i < (argc + 1); i++)
{
if (i != fulltrace_arg)
for (i = 0; i < (argc + 1); i++)
{
if (i != fulltrace_arg)
- TRY_CATCH (e, RETURN_MASK_ERROR)
- {
- backtrace_command_1 (arg, fulltrace_arg >= 0 /* show_locals */, from_tty);
- }
-
- if (fulltrace_arg >= 0 && arglen > 0)
- xfree (arg);
+ backtrace_command_1 (arg, fulltrace_arg >= 0 /* show_locals */, from_tty);
do_cleanups (old_chain);
}
do_cleanups (old_chain);
}
static void
backtrace_full_command (char *arg, int from_tty)
{
static void
backtrace_full_command (char *arg, int from_tty)
{
- volatile struct gdb_exception e;
-
- TRY_CATCH (e, RETURN_MASK_ERROR)
- {
- backtrace_command_1 (arg, 1 /* show_locals */, from_tty);
- }
+ backtrace_command_1 (arg, 1 /* show_locals */, from_tty);