diff options
author | Matthias Clasen <mclasen@redhat.com> | 2017-09-18 10:55:36 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2017-09-18 14:26:57 -0400 |
commit | 6420dd934fafb770d7fdccadb86bd01dd6fc710c (patch) | |
tree | 39d46ea27f7426d2b822e8515a63b6cad9cbd5e3 /gtk/gtkcssstringvalue.c | |
parent | edaaefcb744f994cbe17e4b348898540b5c71da1 (diff) | |
download | gtk+-6420dd934fafb770d7fdccadb86bd01dd6fc710c.tar.gz |
Add an auxiliary ident parsing function
This lets us conveniently create ident values from
multiple candidates.
Diffstat (limited to 'gtk/gtkcssstringvalue.c')
-rw-r--r-- | gtk/gtkcssstringvalue.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gtk/gtkcssstringvalue.c b/gtk/gtkcssstringvalue.c index c12eb7661b..ad29def9a1 100644 --- a/gtk/gtkcssstringvalue.c +++ b/gtk/gtkcssstringvalue.c @@ -203,6 +203,34 @@ _gtk_css_ident_value_try_parse (GtkCssParser *parser) return _gtk_css_ident_value_new_take (ident); } +GtkCssValue * +_gtk_css_ident_value_try (GtkCssParser *parser, + const char *ident, + ...) +{ + va_list args; + const char *name; + GtkCssValue *value = NULL; + + name = ident; + + va_start (args, ident); + + while (name) + { + if (_gtk_css_parser_try (parser, name, TRUE)) + { + value = _gtk_css_ident_value_new (name); + break; + } + ident = va_arg (args, const char *); + } + + va_end (args); + + return value; +} + const char * _gtk_css_ident_value_get (const GtkCssValue *value) { |