diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-02 16:31:29 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2013-12-02 16:31:29 +0000 |
commit | 8819e781762e81d5c1664dc65636845db91982b5 (patch) | |
tree | b0057df84539e9d23b460d21f32ab1de28984329 /src/parse/language.c | |
parent | 3e36d994a1500d3b3d6ebba548ed4c47b641b7c9 (diff) | |
download | libcss-8819e781762e81d5c1664dc65636845db91982b5.tar.gz libcss-8819e781762e81d5c1664dc65636845db91982b5.tar.bz2 |
Ensure that element/class/id names in selector details always get their caseless string.
Diffstat (limited to 'src/parse/language.c')
-rw-r--r-- | src/parse/language.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/parse/language.c b/src/parse/language.c index 522c763..ed6d515 100644 --- a/src/parse/language.c +++ b/src/parse/language.c @@ -1000,6 +1000,10 @@ css_error parseClass(css_language *c, const parserutils_vector *vector, qname.ns = NULL; qname.name = token->idata; + /* Ensure lwc insensitive string is available for class names */ + if (lwc__intern_caseless_string(qname.name) != lwc_error_ok) + return CSS_NOMEM; + return css__stylesheet_selector_detail_init(c->sheet, CSS_SELECTOR_CLASS, &qname, detail_value, CSS_SELECTOR_DETAIL_VALUE_STRING, false, specific); @@ -1449,6 +1453,12 @@ css_error parsePseudo(css_language *c, const parserutils_vector *vector, type = CSS_SELECTOR_ELEMENT; + /* Ensure lwc insensitive string is available + * for element names */ + if (lwc__intern_caseless_string( + qname.name) != lwc_error_ok) + return CSS_NOMEM; + detail_value.string = NULL; value_type = CSS_SELECTOR_DETAIL_VALUE_STRING; } else { @@ -1503,6 +1513,10 @@ css_error parseSpecific(css_language *c, qname.ns = NULL; qname.name = token->idata; + /* Ensure lwc insensitive string is available for id names */ + if (lwc__intern_caseless_string(qname.name) != lwc_error_ok) + return CSS_NOMEM; + error = css__stylesheet_selector_detail_init(c->sheet, CSS_SELECTOR_ID, &qname, detail_value, CSS_SELECTOR_DETAIL_VALUE_STRING, false, @@ -1619,6 +1633,10 @@ css_error parseTypeSelector(css_language *c, const parserutils_vector *vector, qname->name = prefix; } + /* Ensure lwc insensitive string is available for element names */ + if (lwc__intern_caseless_string(qname->name) != lwc_error_ok) + return CSS_NOMEM; + return CSS_OK; } |