[glib: 4/17] gkeyfile: Eliminate unnecessary allocations when setting booleans
- From: Sebastian Dröge <sdroege src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 4/17] gkeyfile: Eliminate unnecessary allocations when setting booleans
- Date: Tue, 2 Nov 2021 11:08:16 +0000 (UTC)
commit cba8d59737780e61e7d8e2a7ed3eb898e6857445
Author: Philip Withnall <pwithnall endlessos org>
Date: Sun Mar 14 13:57:22 2021 +0000
gkeyfile: Eliminate unnecessary allocations when setting booleans
Signed-off-by: Philip Withnall <pwithnall endlessos org>
glib/gkeyfile.c | 15 ++++++---------
1 file 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 *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]