[glade/glade-3-20] Add glade_utils_boolean_from_string() to the zoo
- From: Juan Pablo Ugarte <jpu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade/glade-3-20] Add glade_utils_boolean_from_string() to the zoo
- Date: Sat, 18 Nov 2017 15:09:19 +0000 (UTC)
commit d2045f1f8977d9d3dbdbc674a7f5ab6e6d82c167
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date: Sat Nov 18 12:01:12 2017 -0300
Add glade_utils_boolean_from_string() to the zoo
gladeui/glade-utils.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++
gladeui/glade-utils.h | 2 ++
2 files changed, 49 insertions(+), 0 deletions(-)
---
diff --git a/gladeui/glade-utils.c b/gladeui/glade-utils.c
index 6fbc5d2..d5f3671 100644
--- a/gladeui/glade-utils.c
+++ b/gladeui/glade-utils.c
@@ -1587,6 +1587,53 @@ glade_utils_value_from_string (GType type,
return NULL;
}
+/**
+ * glade_utils_boolean_from_string:
+ * @string: the string to convert
+ * @value: return location
+ *
+ * Parse a boolean value
+ *
+ * Returns: True if there was an error on the conversion.
+ */
+gboolean
+glade_utils_boolean_from_string (const gchar *string, gboolean *value)
+{
+ if (string)
+ {
+ const gchar *c = string;
+
+ /* Skip white spaces */
+ while (g_ascii_isspace (*c))
+ c++;
+
+ /* We only need the first char */
+ switch (*c)
+ {
+ case '1':
+ case 't':
+ case 'T':
+ case 'y':
+ case 'Y':
+ if (value)
+ *value = TRUE;
+ return FALSE;
+ break;
+
+ case '0':
+ case 'f':
+ case 'F':
+ case 'n':
+ case 'N':
+ if (value)
+ *value = FALSE;
+ return FALSE;
+ break;
+ }
+ }
+
+ return TRUE;
+}
/**
* glade_utils_string_from_value:
diff --git a/gladeui/glade-utils.h b/gladeui/glade-utils.h
index ca02a5b..c074b5f 100644
--- a/gladeui/glade-utils.h
+++ b/gladeui/glade-utils.h
@@ -67,6 +67,8 @@ GValue *glade_utils_value_from_string (GType type,
const gchar *string,
GladeProject *project);
gchar *glade_utils_string_from_value (const GValue *value);
+gboolean glade_utils_boolean_from_string (const gchar *string,
+ gboolean *value);
/* Devhelp */
gboolean glade_util_have_devhelp (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]