2005-01-13 Andrew Cagney <cagney@gnu.org>
authorAndrew Cagney <cagney@redhat.com>
Thu, 13 Jan 2005 18:15:02 +0000 (18:15 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 13 Jan 2005 18:15:02 +0000 (18:15 +0000)
* 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.

gdb/ChangeLog
gdb/mi/mi-main.c

index 40985f8056a168fd25a090a2a3a3062ebabe84f8..e89769a553488dbbe6aca3d18545e7823cf56085 100644 (file)
@@ -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.
index a593ed47ce5f4ca744f6db9a73154b47253e67b0..33ba1be9ff9b44bd2e0e7cb57c59e98f4ce1e9e2 100644 (file)
@@ -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 */