aboutsummaryrefslogtreecommitdiff
path: root/src/cssparser.cc
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-11-30 15:37:15 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2008-11-30 15:37:15 +0100
commitd8696fd1573d5c0ddeed513a829438f973c6347d (patch)
tree683b7ad3f9880a136311b57f2d687ae202bceb90 /src/cssparser.cc
parenta3b7a1089c51316d86cb1f765297b1ecc6d5b352 (diff)
make CssSelector a list of CssSimpleSelector objects
Diffstat (limited to 'src/cssparser.cc')
-rw-r--r--src/cssparser.cc15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/cssparser.cc b/src/cssparser.cc
index af530c95..a5cc7da3 100644
--- a/src/cssparser.cc
+++ b/src/cssparser.cc
@@ -945,20 +945,19 @@ static void Css_parse_ruleset(CssParser * parser)
if (selector) {
selector->ref();
- selector->id = selector->klass = selector->pseudo = NULL;
do {
pp = NULL;
if (parser->ttype == CSS_TK_CHAR) {
switch (parser->tval[0]) {
case '#':
- pp = &selector->id;
+ pp = &selector->top ()->id;
break;
case '.':
- pp = &selector->klass;
+ pp = &selector->top ()->klass;
break;
case ':':
- pp = &selector->pseudo;
+ pp = &selector->top ()->pseudo;
break;
}
}
@@ -977,8 +976,8 @@ static void Css_parse_ruleset(CssParser * parser)
p = strchr(parser->tval, '.');
if (*pp == NULL)
*pp = dStrndup(parser->tval, p - parser->tval);
- if (selector->klass == NULL)
- selector->klass = dStrdup(p + 1);
+ if (selector->top ()->klass == NULL)
+ selector->top ()->klass = dStrdup(p + 1);
Css_next_token(parser);
}
}
@@ -993,8 +992,8 @@ static void Css_parse_ruleset(CssParser * parser)
if (selector)
DEBUG_MSG(DEBUG_PARSE_LEVEL, "end of selector (%s, %s, %s, %d)\n",
- selector->id, selector->klass, selector->pseudo,
- selector->element);
+ selector->top ()->id, selector->top ()->klass,
+ selector->top ()->pseudo, selector->top ()->element);
else
DEBUG_MSG(DEBUG_PARSE_LEVEL, "not a %s\n", "selector");