summaryrefslogtreecommitdiff
path: root/src/parse/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/parse.c')
-rw-r--r--src/parse/parse.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/src/parse/parse.c b/src/parse/parse.c
index f195c50..cc24385 100644
--- a/src/parse/parse.c
+++ b/src/parse/parse.c
@@ -583,10 +583,11 @@ css_error getToken(css_parser *parser, const css_token **token)
if (t->type < CSS_TOKEN_LAST_INTERN && t->data.data != NULL) {
if (t->type < CSS_TOKEN_LAST_INTERN_LOWER) {
- uint8_t temp[t->data.len];
+ uint8_t *temp = alloca(t->data.len);
bool lower = false;
+ size_t i;
- for (size_t i = 0; i < t->data.len; i++) {
+ for (i = 0; i < t->data.len; i++) {
uint8_t c = t->data.data[i];
if ('A' <= c && c <= 'Z') {
@@ -828,6 +829,7 @@ css_error parseRuleset(css_parser *parser)
{
enum { Initial = 0, Brace = 1, WS = 2 };
parser_state *state = parserutils_stack_get_current(parser->states);
+ parser_state to = { sRulesetEnd, Initial };
const css_token *token;
css_error error;
@@ -916,8 +918,6 @@ css_error parseRuleset(css_parser *parser)
break;
}
- parser_state to = { sRulesetEnd, Initial };
-
return transitionNoRet(parser, to);
}
@@ -1003,6 +1003,7 @@ css_error parseAtRule(css_parser *parser)
{
enum { Initial = 0, WS = 1, Any = 2, AfterAny = 3 };
parser_state *state = parserutils_stack_get_current(parser->states);
+ parser_state to = { sAtRuleEnd, Initial };
const css_token *token;
css_error error;
@@ -1065,8 +1066,6 @@ css_error parseAtRule(css_parser *parser)
break;
}
- parser_state to = { sAtRuleEnd, Initial };
-
return transitionNoRet(parser, to);
}
@@ -1450,6 +1449,7 @@ css_error parseDeclList(css_parser *parser)
{
enum { Initial = 0, WS = 1 };
parser_state *state = parserutils_stack_get_current(parser->states);
+ parser_state to = { sDeclListEnd, Initial };
const css_token *token;
css_error error;
@@ -1493,8 +1493,6 @@ css_error parseDeclList(css_parser *parser)
break;
}
- parser_state to = { sDeclListEnd, Initial };
-
return transitionNoRet(parser, to);
}
@@ -1502,6 +1500,7 @@ css_error parseDeclListEnd(css_parser *parser)
{
enum { Initial = 0, AfterDeclaration = 1 };
parser_state *state = parserutils_stack_get_current(parser->states);
+ parser_state to = { sDeclList, Initial };
const css_token *token;
css_error error;
@@ -1540,8 +1539,6 @@ css_error parseDeclListEnd(css_parser *parser)
break;
}
- parser_state to = { sDeclList, Initial };
-
return transitionNoRet(parser, to);
}
@@ -1584,6 +1581,7 @@ css_error parseValue1(css_parser *parser)
{
enum { Initial = 0, AfterValue = 1 };
parser_state *state = parserutils_stack_get_current(parser->states);
+ parser_state to = { sValue0, Initial };
const css_token *token;
css_error error;
@@ -1622,8 +1620,6 @@ css_error parseValue1(css_parser *parser)
break;
}
- parser_state to = { sValue0, Initial };
-
return transitionNoRet(parser, to);
}
@@ -1980,6 +1976,8 @@ css_error parseMalformedDeclaration(css_parser *parser)
}
case Go:
while (1) {
+ char want;
+ char *match;
const char *data;
size_t len;
@@ -2002,8 +2000,7 @@ css_error parseMalformedDeclaration(css_parser *parser)
data[0] != ';'))
continue;
- char want;
- char *match = parserutils_stack_get_current(
+ match = parserutils_stack_get_current(
parser->open_items);
/* If the stack is empty, then we're done if we've got
@@ -2078,6 +2075,8 @@ css_error parseMalformedSelector(css_parser *parser)
/* Fall through */
case Go:
while (1) {
+ char want;
+ char *match;
const char *data;
size_t len;
@@ -2099,8 +2098,7 @@ css_error parseMalformedSelector(css_parser *parser)
data[0] != '(' && data[0] != ')'))
continue;
- char want;
- char *match = parserutils_stack_get_current(
+ match = parserutils_stack_get_current(
parser->open_items);
/* Get corresponding start tokens for end tokens */
@@ -2176,6 +2174,8 @@ css_error parseMalformedAtRule(css_parser *parser)
}
case Go:
while (1) {
+ char want;
+ char *match;
const char *data;
size_t len;
@@ -2198,8 +2198,7 @@ css_error parseMalformedAtRule(css_parser *parser)
data[0] != ';'))
continue;
- char want;
- char *match = parserutils_stack_get_current(
+ match = parserutils_stack_get_current(
parser->open_items);
/* If we have a semicolon, then we're either done or