From e5c81ca041caed717f982f45a59e43c408bde04a Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 31 Dec 2022 17:28:16 +0100 Subject: libtracker-sparql: Avoid g_string_append_printf() in Trig serializer Prefer concatenations, as that performs better. --- src/libtracker-sparql/tracker-serializer-trig.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/libtracker-sparql/tracker-serializer-trig.c b/src/libtracker-sparql/tracker-serializer-trig.c index 307bfb78c..0ed05a98a 100644 --- a/src/libtracker-sparql/tracker-serializer-trig.c +++ b/src/libtracker-sparql/tracker-serializer-trig.c @@ -148,9 +148,11 @@ print_value (GString *str, shortname = tracker_namespace_manager_compress_uri (namespaces, value); if (shortname) { - g_string_append_printf (str, "%s", shortname); + g_string_append (str, shortname); } else { - g_string_append_printf (str, "<%s>", value); + g_string_append_c (str, '<'); + g_string_append (str, value); + g_string_append_c (str, '>'); } g_free (shortname); @@ -160,7 +162,8 @@ print_value (GString *str, gchar *bnode_label; bnode_label = g_strdelimit (g_strdup (value), ":", '_'); - g_string_append_printf (str, "_:%s", bnode_label); + g_string_append (str, "_:"); + g_string_append (str, bnode_label); g_free (bnode_label); break; } @@ -169,8 +172,9 @@ print_value (GString *str, gchar *escaped; escaped = tracker_sparql_escape_string (value); - g_string_append_printf (str, "\"%s\"", - escaped); + g_string_append_c (str, '"'); + g_string_append (str, escaped); + g_string_append_c (str, '"'); g_free (escaped); break; } @@ -190,9 +194,9 @@ print_value (GString *str, static gboolean serialize_up_to_size (TrackerSerializerTrig *serializer_trig, - gsize size, - GCancellable *cancellable, - GError **error) + gsize size, + GCancellable *cancellable, + GError **error) { TrackerSparqlCursor *cursor; TrackerNamespaceManager *namespaces; @@ -210,7 +214,8 @@ serialize_up_to_size (TrackerSerializerTrig *serializer_trig, str = tracker_namespace_manager_print_turtle (namespaces); - g_string_append_printf (serializer_trig->data, "%s\n", str); + g_string_append (serializer_trig->data, str); + g_string_append_c (serializer_trig->data, '\n'); g_free (str); serializer_trig->head_printed = TRUE; } -- cgit v1.2.1