aboutsummaryrefslogtreecommitdiff
path: root/gdb/interps.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2005-01-13 02:35:39 +0000
committerAndrew Cagney <cagney@redhat.com>2005-01-13 02:35:39 +0000
commitc1043fc2c19efe25b2b183a7c550d5ba85d4c0e6 (patch)
tree33992f8388c297e887751b5b3fafb9eb24e55e1c /gdb/interps.c
parent2a78bfb53ccd6d78e97293502ae0b41ce4d120a5 (diff)
downloadgdb-c1043fc2c19efe25b2b183a7c550d5ba85d4c0e6.zip
gdb-c1043fc2c19efe25b2b183a7c550d5ba85d4c0e6.tar.gz
gdb-c1043fc2c19efe25b2b183a7c550d5ba85d4c0e6.tar.bz2
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".
Diffstat (limited to 'gdb/interps.c')
-rw-r--r--gdb/interps.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gdb/interps.c b/gdb/interps.c
index 2a4cc0b..b93b3f6 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -42,6 +42,7 @@
#include "gdb-events.h"
#include "gdb_assert.h"
#include "top.h" /* For command_loop. */
+#include "exceptions.h"
struct interp
{
@@ -304,14 +305,14 @@ interp_exec_p (struct interp *interp)
return interp->procs->exec_proc != NULL;
}
-int
+struct exception
interp_exec (struct interp *interp, const char *command_str)
{
if (interp->procs->exec_proc != NULL)
{
return interp->procs->exec_proc (interp->data, command_str);
}
- return 0;
+ return exception_none;
}
/* A convenience routine that nulls out all the
@@ -398,7 +399,8 @@ interpreter_exec_cmd (char *args, int from_tty)
for (i = 1; i < nrules; i++)
{
- if (!interp_exec (interp_to_use, prules[i]))
+ struct exception e = interp_exec (interp_to_use, prules[i]);
+ if (!e.reason)
{
interp_set (old_interp);
interp_set_quiet (interp_to_use, old_quiet);