aboutsummaryrefslogtreecommitdiff
path: root/gdb/linespec.c
diff options
context:
space:
mode:
authorKeith Seitz <keiths@redhat.com>2012-07-26 16:22:48 +0000
committerKeith Seitz <keiths@redhat.com>2012-07-26 16:22:48 +0000
commitdd3818c82cb19570b6b7ddaac277d5f212a432c2 (patch)
tree504a5a016ea6e585a665d0d6266803793c342732 /gdb/linespec.c
parent23a806894cd9479188695c85c7b2d5cb7bedb046 (diff)
downloadgdb-dd3818c82cb19570b6b7ddaac277d5f212a432c2.zip
gdb-dd3818c82cb19570b6b7ddaac277d5f212a432c2.tar.gz
gdb-dd3818c82cb19570b6b7ddaac277d5f212a432c2.tar.bz2
* linespec.c (linespec_lexer_lex_number): The input
is also a valid number if the next character is a comma or colon.
Diffstat (limited to 'gdb/linespec.c')
-rw-r--r--gdb/linespec.c9
1 files changed, 7 insertions, 2 deletions
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;