summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parse/css21.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/parse/css21.c b/src/parse/css21.c
index 5455eb6..a286bd2 100644
--- a/src/parse/css21.c
+++ b/src/parse/css21.c
@@ -789,7 +789,14 @@ css_error parseSelector(css_css21 *c, const parserutils_vector *vector,
const css_token *token = NULL;
css_selector *selector = NULL;
- /* selector -> simple_selector [ combinator simple_selector ]* */
+ /* selector -> simple_selector [ combinator simple_selector ]* ws
+ *
+ * Note, however, that, as combinator can be wholly whitespace,
+ * there's an ambiguity as to whether "ws" has been reached. We
+ * resolve this by attempting to extract a combinator, then
+ * recovering when we detect that we've reached the end of the
+ * selector.
+ */
error = parseSimpleSelector(c, vector, ctx, &selector);
if (error != CSS_OK)