From eb6c379aeffe3e3ce626fb4ab8fa46dbd7766cbf Mon Sep 17 00:00:00 2001 From: Johannes Hofmann Date: Tue, 10 Mar 2009 17:55:58 +0100 Subject: add support for negative numbers in CSS parser --- src/cssparser.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/cssparser.cc') diff --git a/src/cssparser.cc b/src/cssparser.cc index e4637099..0fb0d3d8 100644 --- a/src/cssparser.cc +++ b/src/cssparser.cc @@ -426,7 +426,13 @@ static void Css_next_token(CssParser * parser) } } - // \todo handle negative numbers according to CSS 2.1 + // handle negative numbers + if (c == '-') { + if (i < MAX_STR_LEN - 1) + parser->tval[i++] = c; + c = Css_getc(parser); + } + if (isdigit(c)) { parser->ttype = CSS_TK_DECINT; do { @@ -475,6 +481,12 @@ static void Css_next_token(CssParser * parser) return; } + if (i) { + Css_ungetc(parser); /* ungetc '-' */ + i--; + c = Css_getc(parser); + } + if (isalpha(c) || c == '_' || c == '-') { parser->ttype = CSS_TK_SYMBOL; -- cgit v1.2.3