diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/linespec.c | 9 |
2 files changed, 13 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ade6ad5..2906dad 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2012-07-26 Keith Seitz <keiths@redhat.com> + + * linespec.c (linespec_lexer_lex_number): The input + is also a valid number if the next character is a comma + or colon. + 2012-07-26 Joel Brobecker <brobecker@adacore.com> * NEWS: Document new --enable-libmcheck/--disable-libmcheck diff --git a/gdb/linespec.c b/gdb/linespec.c index c72bb4b..3d7f62f 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -366,7 +366,8 @@ static const char *const linespec_quote_characters = "\"\'"; /* Lexer functions. */ /* Lex a number from the input in PARSER. This only supports - decimal numbers.\ + decimal numbers. + Return true if input is decimal numbers. Return false if not. */ static int @@ -389,7 +390,11 @@ linespec_lexer_lex_number (linespec_parser *parser, linespec_token *tokenp) ++(PARSER_STREAM (parser)); } - if (*PARSER_STREAM (parser) != '\0' && !isspace(*PARSER_STREAM (parser))) + /* If the next character in the input buffer is not a space, comma, + or colon, this input does not represent a number. */ + if (*PARSER_STREAM (parser) != '\0' + && !isspace (*PARSER_STREAM (parser)) && *PARSER_STREAM (parser) != ',' + && *PARSER_STREAM (parser) != ':') { PARSER_STREAM (parser) = LS_TOKEN_STOKEN (*tokenp).ptr; return 0; |