diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9a75f00c82..3cae1d33a2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-02-18 Michael Snyder + + * thread.c (info_threads_command): Re-implement using + get_number_or_range. + 2011-02-18 Tom Tromey * common/ax.def: New file. diff --git a/gdb/thread.c b/gdb/thread.c index d4cd8556c5..e297b54e24 100644 --- a/gdb/thread.c +++ b/gdb/thread.c @@ -976,32 +976,12 @@ info_threads_command (char *arg, int from_tty) while (arg != NULL && *arg != '\0') { - int tmp_tid = strtol (arg, &arg, 0); - unsigned int highrange; + tid = get_number_or_range (&arg); - if (tmp_tid <= 0) - error (_("invalid thread id %d"), tmp_tid); + if (tid <= 0) + error (_("invalid thread id %d"), tid); - tid = tmp_tid; print_thread_info (uiout, tid, -1); - - while (*arg == ' ' || *arg == '\t') - ++arg; - - if (*arg == '-') - { - /* Do a range of threads. Must be in ascending order. */ - ++arg; /* Skip the hyphen. */ - highrange = strtoul (arg, &arg, 0); - if (highrange < tid) - error (_("inverted range")); - - /* Do the threads in the range (first one already done). */ - while (tid < highrange) - { - print_thread_info (uiout, ++tid, -1); - } - } } }