From 1bff3d3ca4101639e659c8649731020e7a5c9c10 Mon Sep 17 00:00:00 2001 From: "Eduardo Lima (Etrunko)" Date: Tue, 3 Oct 2017 17:32:03 -0300 Subject: [PATCH] utils: Factor out basic value type setting from _set_property_value_from_type() A simple cosmetic enhancement with the hope to improve code readability. Signed-off-by: Eduardo Lima (Etrunko) --- govirt/ovirt-utils.c | 59 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/govirt/ovirt-utils.c b/govirt/ovirt-utils.c index a60c754..a0146fd 100644 --- a/govirt/ovirt-utils.c +++ b/govirt/ovirt-utils.c @@ -134,6 +134,39 @@ ovirt_rest_xml_node_get_str_array_from_path(RestXmlNode *node, const char *path, return (GStrv) g_array_free(array, FALSE); } +static gboolean +_set_property_value_from_basic_type(GValue *value, + GType type, + const char *value_str) +{ + switch(type) { + case G_TYPE_BOOLEAN: { + gboolean bool_value = ovirt_utils_boolean_from_string(value_str); + g_value_set_boolean(value, bool_value); + return TRUE; + } + case G_TYPE_STRING: { + g_value_set_string(value, value_str); + return TRUE; + } + case G_TYPE_UINT: { + guint uint_value = strtoul(value_str, NULL, 0); + g_value_set_uint(value, uint_value); + return TRUE; + } + case G_TYPE_UINT64: { + guint64 int64_value = g_ascii_strtoull(value_str, NULL, 0); + g_value_set_uint64(value, int64_value); + return TRUE; + } + default: { + g_warning("Unexpected type '%s' with value '%s'", g_type_name(type), value_str); + } + } + + return FALSE; +} + static gboolean _set_property_value_from_type(GValue *value, GType type, @@ -174,31 +207,7 @@ _set_property_value_from_type(GValue *value, goto end; } - switch(type) { - case G_TYPE_BOOLEAN: { - gboolean bool_value = ovirt_utils_boolean_from_string(value_str); - g_value_set_boolean(value, bool_value); - break; - } - case G_TYPE_STRING: { - g_value_set_string(value, value_str); - break; - } - case G_TYPE_UINT: { - guint uint_value = strtoul(value_str, NULL, 0); - g_value_set_uint(value, uint_value); - break; - } - case G_TYPE_UINT64: { - guint64 int64_value = g_ascii_strtoull(value_str, NULL, 0); - g_value_set_uint64(value, int64_value); - break; - } - default: { - g_warning("Unexpected type '%s' with value '%s'", g_type_name(type), value_str); - ret = FALSE; - } - } + ret = _set_property_value_from_basic_type(value, type, value_str); end: return ret; -- 2.14.4