about summary refs log tree commit diff stats
path: root/src/css/cssparser.nim
diff options
context:
space:
mode:
Diffstat (limited to 'src/css/cssparser.nim')
-rw-r--r--src/css/cssparser.nim5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/css/cssparser.nim b/src/css/cssparser.nim
index 8ed54bf2..ec14960e 100644
--- a/src/css/cssparser.nim
+++ b/src/css/cssparser.nim
@@ -647,6 +647,7 @@ proc consumeDeclarations(state: var CSSParseState): seq[CSSParsedItem] =
         discard state.consumeComponentValue()
 
 proc consumeDeclarations2(state: var CSSParseState): seq[CSSDeclaration] =
+  result = @[]
   while state.has():
     let t = state.consume()
     if t == cttWhitespace or t == cttSemicolon:
@@ -655,7 +656,7 @@ proc consumeDeclarations2(state: var CSSParseState): seq[CSSDeclaration] =
       state.reconsume()
       discard state.consumeAtRule()
     elif t == cttIdent:
-      var tempList: seq[CSSParsedItem]
+      var tempList: seq[CSSParsedItem] = @[]
       let tok = CSSToken(t)
       tempList.add(tok)
       while state.has() and state.peek() != cttSemicolon:
@@ -666,7 +667,7 @@ proc consumeDeclarations2(state: var CSSParseState): seq[CSSDeclaration] =
         result.add(decl.get)
     else:
       state.reconsume()
-      if state.peek() != cttSemicolon:
+      while state.has() and state.peek() != cttSemicolon:
         discard state.consumeComponentValue()
 
 proc consumeListOfRules(state: var CSSParseState; topLevel = false):