summaryrefslogtreecommitdiff
path: root/glib/gkeyfile.c
diff options
context:
space:
mode:
authorPhilip Withnall <pwithnall@endlessos.org>2021-03-14 13:57:22 +0000
committerPhilip Withnall <pwithnall@endlessos.org>2021-11-02 09:38:36 +0000
commitcba8d59737780e61e7d8e2a7ed3eb898e6857445 (patch)
tree015db9ecb0a7659d32fa32577cb788343a211e8e /glib/gkeyfile.c
parentf71db392845ba18457e0e5274ba733afd60edcce (diff)
downloadglib-cba8d59737780e61e7d8e2a7ed3eb898e6857445.tar.gz
gkeyfile: Eliminate unnecessary allocations when setting booleans
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Diffstat (limited to 'glib/gkeyfile.c')
-rw-r--r--glib/gkeyfile.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c
index 9dd806cb7..2fee51324 100644
--- a/glib/gkeyfile.c
+++ b/glib/gkeyfile.c
@@ -599,7 +599,7 @@ static gdouble g_key_file_parse_value_as_double (GKeyFile
static gboolean g_key_file_parse_value_as_boolean (GKeyFile *key_file,
const gchar *value,
GError **error);
-static gchar *g_key_file_parse_boolean_as_value (GKeyFile *key_file,
+static const gchar *g_key_file_parse_boolean_as_value (GKeyFile *key_file,
gboolean value);
static gchar *g_key_file_parse_value_as_comment (GKeyFile *key_file,
const gchar *value,
@@ -2556,13 +2556,12 @@ g_key_file_set_boolean (GKeyFile *key_file,
const gchar *key,
gboolean value)
{
- gchar *result;
+ const gchar *result;
g_return_if_fail (key_file != NULL);
result = g_key_file_parse_boolean_as_value (key_file, value);
g_key_file_set_value (key_file, group_name, key, result);
- g_free (result);
}
/**
@@ -2673,14 +2672,12 @@ g_key_file_set_boolean_list (GKeyFile *key_file,
value_list = g_string_sized_new (length * 8);
for (i = 0; i < length; i++)
{
- gchar *value;
+ const gchar *value;
value = g_key_file_parse_boolean_as_value (key_file, list[i]);
g_string_append (value_list, value);
g_string_append_c (value_list, key_file->list_separator);
-
- g_free (value);
}
g_key_file_set_value (key_file, group_name, key, value_list->str);
@@ -4578,14 +4575,14 @@ g_key_file_parse_value_as_boolean (GKeyFile *key_file,
return FALSE;
}
-static gchar *
+static const gchar *
g_key_file_parse_boolean_as_value (GKeyFile *key_file,
gboolean value)
{
if (value)
- return g_strdup ("true");
+ return "true";
else
- return g_strdup ("false");
+ return "false";
}
static gchar *