summaryrefslogtreecommitdiff
path: root/src/parse/properties/list_style_type.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/parse/properties/list_style_type.c')
-rw-r--r--src/parse/properties/list_style_type.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/parse/properties/list_style_type.c b/src/parse/properties/list_style_type.c
index ccaa133..eb7f363 100644
--- a/src/parse/properties/list_style_type.c
+++ b/src/parse/properties/list_style_type.c
@@ -28,10 +28,10 @@
* If the input is invalid, then \a *ctx remains unchanged.
*/
css_error css__parse_list_style_type(css_language *c,
- const parserutils_vector *vector, int *ctx,
+ const parserutils_vector *vector, int32_t *ctx,
css_style *result)
{
- int orig_ctx = *ctx;
+ int32_t orig_ctx = *ctx;
css_error error;
const css_token *ident;
uint8_t flags = 0;
@@ -49,10 +49,26 @@ css_error css__parse_list_style_type(css_language *c,
return CSS_INVALID;
}
- if ((lwc_string_caseless_isequal(
+ if (ident->type == CSS_TOKEN_IDENT &&
+ (lwc_string_caseless_isequal(
ident->idata, c->strings[INHERIT],
&match) == lwc_error_ok && match)) {
flags |= FLAG_INHERIT;
+ } else if (ident->type == CSS_TOKEN_IDENT &&
+ (lwc_string_caseless_isequal(
+ ident->idata, c->strings[INITIAL],
+ &match) == lwc_error_ok && match)) {
+ flags = FLAG_INITIAL;
+ } else if (ident->type == CSS_TOKEN_IDENT &&
+ (lwc_string_caseless_isequal(
+ ident->idata, c->strings[REVERT],
+ &match) == lwc_error_ok && match)) {
+ flags = FLAG_REVERT;
+ } else if (ident->type == CSS_TOKEN_IDENT &&
+ (lwc_string_caseless_isequal(
+ ident->idata, c->strings[UNSET],
+ &match) == lwc_error_ok && match)) {
+ flags = FLAG_UNSET;
} else {
error = css__parse_list_style_type_value(c, ident, &value);
if (error != CSS_OK) {