diff options
author | Johan Dahlin <jdahlin@async.com.br> | 2007-06-30 06:57:47 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2007-06-30 06:57:47 +0000 |
commit | 357e2cbfff1c0b36035ea73007c8faf7c20daf64 (patch) | |
tree | 83a8dc38f1d088058812ad329f2110604cb9f1d6 /gtk/gtkbuilder.c | |
parent | 9a779e8e2d0925a4aece07c4102af359f6e5e980 (diff) | |
download | gtk+-357e2cbfff1c0b36035ea73007c8faf7c20daf64.tar.gz |
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
Diffstat (limited to 'gtk/gtkbuilder.c')
-rw-r--r-- | gtk/gtkbuilder.c | 31 |
1 files changed, 4 insertions, 27 deletions
diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 03f28817ea..22228acdc1 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -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; |