diff options
Diffstat (limited to 'src/parse/properties/content.c')
-rw-r--r-- | src/parse/properties/content.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/parse/properties/content.c b/src/parse/properties/content.c index 10f221f..7c03c6a 100644 --- a/src/parse/properties/content.c +++ b/src/parse/properties/content.c @@ -29,27 +29,27 @@ * If the input is invalid, then \a *ctx remains unchanged. */ css_error css__parse_content(css_language *c, - const parserutils_vector *vector, int *ctx, + const parserutils_vector *vector, int32_t *ctx, css_style *result) { - int orig_ctx = *ctx; - css_error error; + int32_t orig_ctx = *ctx; + css_error error = CSS_INVALID; const css_token *token; + enum flag_value flag_value; bool match; /* IDENT(normal, none, inherit) | [ ... ]+ */ token = parserutils_vector_iterate(vector, ctx); if (token == NULL) { *ctx = orig_ctx; - return CSS_INVALID; + return error; } + flag_value = get_css_flag_value(c, token); - if ((token->type == CSS_TOKEN_IDENT) && - (lwc_string_caseless_isequal(token->idata, - c->strings[INHERIT], - &match) == lwc_error_ok && match)) { - error = css_stylesheet_style_inherit(result, CSS_PROP_CONTENT); + if (flag_value != FLAG_VALUE__NONE) { + error = css_stylesheet_style_flag_value(result, flag_value, + CSS_PROP_CONTENT); } else if ((token->type == CSS_TOKEN_IDENT) && (lwc_string_caseless_isequal(token->idata, c->strings[NORMAL], |