Make boolean string parsing consistent, #452464

2007-06-30  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/gtkbuilder.c: (gtk_builder_value_from_string_type):
    * gtk/gtkbuilderparser.c: (_gtk_builder_parse_boolean),
    (parse_property), (parse_signal):
    * gtk/gtkbuilderprivate.h:
    * tests/buildertest.c: (test_value_from_string):
    Make boolean string parsing consistent, #452464


svn path=/trunk/; revision=18305
This commit is contained in:
Johan Dahlin
2007-06-30 06:57:47 +00:00
committed by Johan Dahlin
parent 9a779e8e2d
commit 357e2cbfff
5 changed files with 101 additions and 30 deletions

View File

@ -1038,33 +1038,10 @@ gtk_builder_value_from_string_type (GtkBuilder *builder,
{
gboolean b;
switch (g_ascii_tolower (string[0]))
{
case 't':
case 'y':
b = TRUE;
break;
case 'f':
case 'n':
b = FALSE;
break;
default:
{
gchar *endptr;
errno = 0;
b = strtol (string, &endptr, 0);
if (errno || endptr == string)
{
g_set_error (error,
GTK_BUILDER_ERROR,
GTK_BUILDER_ERROR_INVALID_VALUE,
"Could not parse boolean `%s'",
string);
ret = FALSE;
break;
}
}
break;
if (!_gtk_builder_parse_boolean (string, &b, error))
{
ret = FALSE;
break;
}
g_value_set_boolean (value, b);
break;