aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/mi/mi-main.c19
2 files changed, 18 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 48c688e..568eb75 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-05 Vladimir Prus <vladimir@codesourcery.com>
+
+ * mi/mi-main.c (mi_cmd_list_thread_groups): Adjust
+ for current naming of thread groups (iN, not N).
+
2010-06-04 Sergio Durigan Junior <sergiodj@redhat.com>
* ada-lang.c (ada_operator_length): Constify `struct expression'.
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index c9472ed..ec6753d 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -817,10 +817,15 @@ mi_cmd_list_thread_groups (char *command, char **argv, int argc)
for (; optind < argc; ++optind)
{
char *end;
- int inf = strtoul (argv[optind], &end, 0);
+ int inf;
+
+ if (*(argv[optind]) != 'i')
+ error ("invalid syntax of group id '%s'", argv[optind]);
+
+ inf = strtoul (argv[optind] + 1, &end, 0);
if (*end != '\0')
- error ("invalid group id '%s'", argv[optind]);
+ error ("invalid syntax of group id '%s'", argv[optind]);
VEC_safe_push (int, ids, inf);
}
if (VEC_length (int, ids) > 1)
@@ -837,11 +842,13 @@ mi_cmd_list_thread_groups (char *command, char **argv, int argc)
else if (VEC_length (int, ids) == 1)
{
/* Local thread groups, single id. */
- int pid = *VEC_address (int, ids);
+ int id = *VEC_address (int, ids);
+ struct inferior *inf = find_inferior_id (id);
- if (!in_inferior_list (pid))
- error ("Invalid thread group id '%d'", pid);
- print_thread_info (uiout, -1, pid);
+ if (!inf)
+ error ("Non-existent thread group id '%d'", id);
+
+ print_thread_info (uiout, -1, inf->pid);
}
else
{