OSDN Git Service

* mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR
authorkseitz <kseitz>
Tue, 22 Oct 2002 17:53:42 +0000 (17:53 +0000)
committerkseitz <kseitz>
Tue, 22 Oct 2002 17:53:42 +0000 (17:53 +0000)
        when we really did catch an error(). If we got GDB_RC_FAIL, return
        MI_CMD_ERROR instead.

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

index 0a0954f..5a89d5f 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-22  Keith Seitz  <keiths@redhat.com>
+
+       * mi-main.c (mi_cmd_thread_select): Only return MI_CMD_CAUGHT_ERROR
+       when we really did catch an error(). If we got GDB_RC_FAIL, return
+       MI_CMD_ERROR instead.
+
 2002-10-03  Jeff Johnston  <jjohnstn@redhat.com>
 
        * gdbmi.texinfo: Fix examples that show frames to remove
index 4177592..a866042 100644 (file)
@@ -240,8 +240,12 @@ mi_cmd_thread_select (char *command, char **argv, int argc)
   else
     rc = gdb_thread_select (uiout, argv[0]);
 
-  if (rc == GDB_RC_FAIL)
+  /* RC is enum gdb_rc if it is successful (>=0)
+     enum return_reason if not (<0). */
+  if ((int) rc < 0 && (enum return_reason) rc == RETURN_ERROR)
     return MI_CMD_CAUGHT_ERROR;
+  else if ((int) rc >= 0 && rc == GDB_RC_FAIL)
+    return MI_CMD_ERROR;
   else
     return MI_CMD_DONE;
 }