diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-27 12:17:51 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-27 12:17:51 +0000 |
commit | c1a3d0bb1b2fd93dd6b6d6b94e7897da01bd9083 (patch) | |
tree | f9e177429a1112f1672c74f07ebfc3e0e9cb60b8 /src/parse/properties/utils.c | |
parent | e20927d57c447c7b74af4f00f1ecbd19b554ab65 (diff) | |
download | libcss-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.c | 13 |
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) |