switch (m_state)
{
case STATE_INFERIOR:
- return *m_cur_tok == '\0';
+ /* Parsing is finished when at end of string or null string,
+ or we are not in a range and not in front of an integer, negative
+ integer, convenience var or negative convenience var. */
+ return (*m_cur_tok == '\0'
+ || !(isdigit (*m_cur_tok)
+ || *m_cur_tok == '$'
+ || *m_cur_tok == '*'));
case STATE_THREAD_RANGE:
case STATE_STAR_RANGE:
return m_range_parser.finished ();
return m_state == STATE_STAR_RANGE;
}
+bool
+tid_range_parser::in_thread_range () const
+{
+ return m_state == STATE_THREAD_RANGE;
+}
+
/* See tid-parse.h. */
int
return 1;
tid_range_parser parser (list, default_inferior);
+ if (parser.finished ())
+ invalid_thread_id_error (parser.cur_tok ());
while (!parser.finished ())
{
int tmp_inf, tmp_thr_start, tmp_thr_end;