diff options
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-interp.c | 26 | ||||
-rw-r--r-- | gdb/cli/cli-script.c | 23 |
2 files changed, 10 insertions, 39 deletions
diff --git a/gdb/cli/cli-interp.c b/gdb/cli/cli-interp.c index 7a517e9..88a570c 100644 --- a/gdb/cli/cli-interp.c +++ b/gdb/cli/cli-interp.c @@ -37,12 +37,6 @@ struct ui_out *cli_uiout; static struct gdb_exception safe_execute_command (struct ui_out *uiout, char *command, int from_tty); -struct captured_execute_command_args -{ - char *command; - int from_tty; -}; - /* These implement the cli out interpreter: */ static void * @@ -117,25 +111,15 @@ cli_interpreter_exec (void *data, const char *command_str) return result; } -static void -do_captured_execute_command (struct ui_out *uiout, void *data) -{ - struct captured_execute_command_args *args = - (struct captured_execute_command_args *) data; - - execute_command (args->command, args->from_tty); -} - static struct gdb_exception safe_execute_command (struct ui_out *uiout, char *command, int from_tty) { - struct gdb_exception e; - struct captured_execute_command_args args; + volatile struct gdb_exception e; - args.command = command; - args.from_tty = from_tty; - e = catch_exception (uiout, do_captured_execute_command, &args, - RETURN_MASK_ALL); + TRY_CATCH (e, RETURN_MASK_ALL) + { + execute_command (command, from_tty); + } /* FIXME: cagney/2005-01-13: This shouldn't be needed. Instead the caller should print the exception. */ exception_print (gdb_stderr, e); diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c index 5903015..2d1afe5 100644 --- a/gdb/cli/cli-script.c +++ b/gdb/cli/cli-script.c @@ -1589,19 +1589,6 @@ source_cleanup_lines (void *args) source_file_name = p->old_file; } -struct wrapped_read_command_file_args -{ - FILE *stream; -}; - -static void -wrapped_read_command_file (struct ui_out *uiout, void *data) -{ - struct wrapped_read_command_file_args *args = data; - - read_command_file (args->stream); -} - /* Used to implement source_command. */ void @@ -1625,12 +1612,12 @@ script_from_file (FILE *stream, const char *file) error_pre_print = ""; { - struct gdb_exception e; - struct wrapped_read_command_file_args args; + volatile struct gdb_exception e; - args.stream = stream; - e = catch_exception (uiout, wrapped_read_command_file, &args, - RETURN_MASK_ERROR); + TRY_CATCH (e, RETURN_MASK_ERROR) + { + read_command_file (stream); + } switch (e.reason) { case 0: |