summaryrefslogtreecommitdiff
path: root/src/parse/properties/utils.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2009-07-27 12:17:51 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2009-07-27 12:17:51 +0000
commitc1a3d0bb1b2fd93dd6b6d6b94e7897da01bd9083 (patch)
treef9e177429a1112f1672c74f07ebfc3e0e9cb60b8 /src/parse/properties/utils.c
parente20927d57c447c7b74af4f00f1ecbd19b554ab65 (diff)
downloadlibcss-c1a3d0bb1b2fd93dd6b6d6b94e7897da01bd9083.tar.gz
libcss-c1a3d0bb1b2fd93dd6b6d6b94e7897da01bd9083.tar.bz2
Don't intern lower-case versions of strings. Use lwc_context_string_caseless_isequal, instead.
svn path=/trunk/libcss/; revision=8815
Diffstat (limited to 'src/parse/properties/utils.c')
-rw-r--r--src/parse/properties/utils.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/parse/properties/utils.c b/src/parse/properties/utils.c
index 8047040..c93a3fc 100644
--- a/src/parse/properties/utils.c
+++ b/src/parse/properties/utils.c
@@ -32,6 +32,7 @@ css_error parse_colour_specifier(css_language *c,
int orig_ctx = *ctx;
const css_token *token;
uint8_t r = 0, g = 0, b = 0;
+ bool match;
css_error error;
consumeWhitespace(vector, ctx);
@@ -54,7 +55,7 @@ css_error parse_colour_specifier(css_language *c,
}
if (token->type == CSS_TOKEN_IDENT) {
- error = parse_named_colour(c, token->ilower, result);
+ error = parse_named_colour(c, token->idata, result);
if (error != CSS_OK && c->sheet->quirks_allowed) {
error = parse_hash_colour(token->idata, result);
if (error == CSS_OK)
@@ -90,7 +91,10 @@ css_error parse_colour_specifier(css_language *c,
return error;
} else if (token->type == CSS_TOKEN_FUNCTION) {
- if (token->ilower == c->strings[RGB]) {
+ if ((lwc_context_string_caseless_isequal(
+ c->sheet->dictionary,
+ token->idata, c->strings[RGB],
+ &match) == lwc_error_ok && match)) {
int i;
css_token_type valid = CSS_TOKEN_NUMBER;
@@ -329,9 +333,12 @@ css_error parse_named_colour(css_language *c, lwc_string *data,
0x9acd3200 /* YELLOWGREEN */
};
int i;
+ bool match;
for (i = FIRST_COLOUR; i <= LAST_COLOUR; i++) {
- if (data == c->strings[i])
+ if (lwc_context_string_caseless_isequal(c->sheet->dictionary,
+ data, c->strings[i], &match) == lwc_error_ok &&
+ match)
break;
}
if (i == LAST_COLOUR + 1)