2005-01-12 Andrew Cagney <cagney@gnu.org>

* exceptions.c (exception_none): New variable.
	* Makefile.in: Update dependencies.
	* interps.c: Include "exceptions.h".
	(interpreter_exec_cmd, interp_exec): Update to return "struct
	exception"
	* exceptions.h (no_exception): Declare.
	* tui/tui-interp.c (tui_exec): Update to return "struct exception"
	* mi/mi-interp.c: Include "exceptions.h".
	(mi_cmd_interpreter_exec, mi_interpreter_exec): Update to return
	'struct exception".
	* cli/cli-interp.c (cli_interpreter_exec, safe_execute_command)
	(do_captured_execute_command): Update to use catch_exception.
	* interps.h: Include "exceptions.h".
	(interp_exec_ftype, interp_exec): Return "struct exception".
This commit is contained in:
Andrew Cagney
2005-01-13 02:35:39 +00:00
parent 2a78bfb53c
commit c1043fc2c1
9 changed files with 63 additions and 33 deletions

View File

@@ -34,9 +34,8 @@ struct ui_out *cli_uiout;
/* These are the ui_out and the interpreter for the console interpreter. */
/* Longjmp-safe wrapper for "execute_command" */
static int do_captured_execute_command (struct ui_out *uiout, void *data);
static enum gdb_rc safe_execute_command (struct ui_out *uiout, char *command,
int from_tty);
static struct exception safe_execute_command (struct ui_out *uiout,
char *command, int from_tty);
struct captured_execute_command_args
{
char *command;
@@ -93,11 +92,11 @@ cli_interpreter_display_prompt_p (void *data)
return 1;
}
static int
static struct exception
cli_interpreter_exec (void *data, const char *command_str)
{
int result;
struct ui_file *old_stream;
struct exception result;
/* FIXME: cagney/2003-02-01: Need to const char *propogate
safe_execute_command. */
@@ -115,23 +114,22 @@ cli_interpreter_exec (void *data, const char *command_str)
return result;
}
static int
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);
return GDB_RC_OK;
}
static enum gdb_rc
static struct exception
safe_execute_command (struct ui_out *uiout, char *command, int from_tty)
{
struct captured_execute_command_args args;
args.command = command;
args.from_tty = from_tty;
return catch_exceptions (uiout, do_captured_execute_command, &args,
NULL, RETURN_MASK_ALL);
return catch_exception (uiout, do_captured_execute_command, &args,
RETURN_MASK_ALL);
}