summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Bugaev <bugaevc@gmail.com>2023-01-24 19:07:46 +0300
committerSergey Bugaev <bugaevc@gmail.com>2023-01-27 11:55:27 +0300
commitbccff754b65628bd08e124566eb0ea4aa6603a08 (patch)
tree1b2574897f55716c494436478726d87b00c5176f
parent5e40004bdb06d33aeb4d6fd1f03a8493718c45a9 (diff)
downloadglib-bccff754b65628bd08e124566eb0ea4aa6603a08.tar.gz
Use g_string_free_and_steal () more
Now that there is g_string_free_and_steal (), we can use it instead of the older g_string_free (_, FALSE). Make sure to use its return value while doing so, as opposed to manually accessing string->str, to avoid compiler warnings and make the intent more explicit. This is all done in preparation for making g_string_free (_, FALSE) warn on unused return value much like g_string_free_and_steal (), which will happen in the next commit. Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
-rw-r--r--gio/glib-compile-schemas.c5
-rw-r--r--glib/gkeyfile.c5
-rw-r--r--glib/tests/markup-subparser.c8
3 files changed, 4 insertions, 14 deletions
diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c
index acabfb6b4..efe6f8e77 100644
--- a/gio/glib-compile-schemas.c
+++ b/gio/glib-compile-schemas.c
@@ -709,8 +709,8 @@ key_state_serialise (KeyState *state)
gsize size;
gsize i;
- data = state->strinfo->str;
size = state->strinfo->len;
+ data = g_string_free_and_steal (g_steal_pointer (&state->strinfo));
words = data;
for (i = 0; i < size / sizeof (guint32); i++)
@@ -720,9 +720,6 @@ key_state_serialise (KeyState *state)
data, size, TRUE,
g_free, data);
- g_string_free (state->strinfo, FALSE);
- state->strinfo = NULL;
-
g_variant_builder_add (&builder, "(y@au)",
state->is_flags ? 'f' :
state->is_enum ? 'e' : 'c',
diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c
index 6ae738ca1..fb65d55c5 100644
--- a/glib/gkeyfile.c
+++ b/glib/gkeyfile.c
@@ -3546,10 +3546,7 @@ g_key_file_get_key_comment (GKeyFile *key_file,
}
if (string != NULL)
- {
- comment = string->str;
- g_string_free (string, FALSE);
- }
+ comment = g_string_free_and_steal (g_steal_pointer (&string));
else
comment = NULL;
diff --git a/glib/tests/markup-subparser.c b/glib/tests/markup-subparser.c
index e2e94ea90..626b4274d 100644
--- a/glib/tests/markup-subparser.c
+++ b/glib/tests/markup-subparser.c
@@ -83,9 +83,7 @@ subparser_end (GMarkupParseContext *ctx,
char *result;
string = g_markup_parse_context_pop (ctx);
- result = string->str;
-
- g_string_free (string, FALSE);
+ result = g_string_free_and_steal (g_steal_pointer (&string));
strings_allocated--;
if (result == NULL || result[0] == '\0')
@@ -156,9 +154,7 @@ replay_parser_end (GMarkupParseContext *ctx,
return NULL;
}
- result = string->str;
-
- g_string_free (string, FALSE);
+ result = g_string_free_and_steal (g_steal_pointer (&string));
strings_allocated--;
if (result == NULL || result[0] == '\0')