diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/mi/mi-main.c | 19 |
2 files changed, 16 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 40985f8..e89769a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2005-01-13 Andrew Cagney <cagney@gnu.org> + + * mi/mi-main.c (mi_execute_command): Use catch_exception, + eliminate call to error_last_message. + (captured_mi_execute_command): Change return type to void. + 2005-01-12 Andrew Cagney <cagney@gnu.org> * exceptions.c (exception_none): New variable. diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index a593ed4..33ba1be 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1040,7 +1040,7 @@ mi_cmd_data_write_memory (char *command, char **argv, int argc) to perfrom after the given command has executed (display/supress prompt, display error). */ -static int +static void captured_mi_execute_command (struct ui_out *uiout, void *data) { struct captured_mi_execute_command_args *args = @@ -1095,7 +1095,7 @@ captured_mi_execute_command (struct ui_out *uiout, void *data) { mi_out_rewind (uiout); args->action = EXECUTE_COMMAND_DISPLAY_ERROR; - return 1; + return; } else mi_out_rewind (uiout); @@ -1105,7 +1105,7 @@ captured_mi_execute_command (struct ui_out *uiout, void *data) /* Don't print the prompt. We are executing the target in synchronous mode. */ args->action = EXECUTE_COMMAND_SUPRESS_PROMPT; - return 1; + return; } break; @@ -1137,7 +1137,7 @@ captured_mi_execute_command (struct ui_out *uiout, void *data) } - return 1; + return; } @@ -1147,7 +1147,6 @@ mi_execute_command (char *cmd, int from_tty) struct mi_parse *command; struct captured_mi_execute_command_args args; struct ui_out *saved_uiout = uiout; - int result; /* This is to handle EOF (^D). We just quit gdb. */ /* FIXME: we should call some API function here. */ @@ -1158,11 +1157,12 @@ mi_execute_command (char *cmd, int from_tty) if (command != NULL) { + struct exception result; /* FIXME: cagney/1999-11-04: Can this use of catch_exceptions either be pushed even further down or even eliminated? */ args.command = command; - result = catch_exceptions (uiout, captured_mi_execute_command, &args, "", - RETURN_MASK_ALL); + result = catch_exception (uiout, captured_mi_execute_command, &args, + RETURN_MASK_ALL); if (args.action == EXECUTE_COMMAND_SUPRESS_PROMPT) { @@ -1171,9 +1171,10 @@ mi_execute_command (char *cmd, int from_tty) mi_parse_free (command); return; } - if (args.action == EXECUTE_COMMAND_DISPLAY_ERROR || result < 0) + if (args.action == EXECUTE_COMMAND_DISPLAY_ERROR + || result.reason < 0) { - char *msg = error_last_message (); + char *msg = result.message; struct cleanup *cleanup = make_cleanup (xfree, msg); /* The command execution failed and error() was called somewhere */ |