--- GType.xs.old Thu May 29 08:09:25 2003 +++ GType.xs Thu May 29 08:11:30 2003 @@ -178,6 +178,26 @@ val, g_type_name (type)); } +gboolean +gperl_try_convert_flag(GType type, + const char * val_p, + gint * val) +{ + SV *r; + GFlagsValue * vals = gperl_type_flags_get_values (type); + /*fprintf(stderr, "%s: type<%s> val_p<%s>\n", __FUNCTION__, g_type_name(type), val_p);*/ + while (vals && vals->value_nick && vals->value_name) { + if (streq_enum (val_p, vals->value_name) || + streq_enum (val_p, vals->value_nick)) { + *val = vals->value; + return TRUE; + } + vals++; + } + + return FALSE; +} + gint gperl_convert_flag_one (GType type, const char * val_p) @@ -208,7 +228,6 @@ croak ("FATAL: invalid flags %s value %s, expecting: %s", g_type_name (type), val_p, SvPV_nolen (r)); } - gint gperl_convert_flags (GType type,