diff options
Diffstat (limited to 'src/parse/properties/flex.c')
-rw-r--r-- | src/parse/properties/flex.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/parse/properties/flex.c b/src/parse/properties/flex.c index 9e284d9..a29309b 100644 --- a/src/parse/properties/flex.c +++ b/src/parse/properties/flex.c @@ -29,10 +29,10 @@ */ css_error css__parse_flex(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; int prev_ctx; const css_token *token; css_error error; @@ -44,29 +44,30 @@ css_error css__parse_flex(css_language *c, css_style *basis_style; bool short_auto = false; bool short_none = false; + enum flag_value flag_value; bool match; /* Firstly, handle inherit */ token = parserutils_vector_peek(vector, *ctx); if (token == NULL) return CSS_INVALID; - - if (is_css_inherit(c, token)) { - error = css_stylesheet_style_inherit(result, + + flag_value = get_css_flag_value(c, token); + + if (flag_value != FLAG_VALUE__NONE) { + error = css_stylesheet_style_flag_value(result, flag_value, CSS_PROP_FLEX_GROW); - if (error != CSS_OK) + if (error != CSS_OK) return error; - error = css_stylesheet_style_inherit(result, + error = css_stylesheet_style_flag_value(result, flag_value, CSS_PROP_FLEX_SHRINK); - - if (error != CSS_OK) + if (error != CSS_OK) return error; - error = css_stylesheet_style_inherit(result, + error = css_stylesheet_style_flag_value(result, flag_value, CSS_PROP_FLEX_BASIS); - - if (error == CSS_OK) + if (error == CSS_OK) parserutils_vector_iterate(vector, ctx); return error; |