aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/linespec.c9
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;