diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2020-10-06 21:27:02 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2020-10-10 11:02:08 +0200 |
commit | 539c2bc50fbc43772dbb35d65465de3a35dd0def (patch) | |
tree | 46ec38e6c5be3ab48134c1edccc847e9865586ec | |
parent | 45943da0e4567c8cc8118cee1d0a24d74d5c6461 (diff) | |
download | tracker-539c2bc50fbc43772dbb35d65465de3a35dd0def.tar.gz |
libtracker-data: Add tracker_sparql_make_langstring()
This function takes a string and langtag, and produces a GBytes as
the internals do expect it.
-rw-r--r-- | src/libtracker-data/tracker-sparql.c | 34 | ||||
-rw-r--r-- | src/libtracker-data/tracker-sparql.h | 3 |
2 files changed, 25 insertions, 12 deletions
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c index 2ff43d045..3bee2b34f 100644 --- a/src/libtracker-data/tracker-sparql.c +++ b/src/libtracker-data/tracker-sparql.c @@ -8746,20 +8746,9 @@ translate_RDFLiteral (TrackerSparql *sparql, if (is_parameter) { binding = tracker_parameter_binding_new (str, NULL); } else { - GString *langstr; GBytes *bytes; - langstr = g_string_new (str); - - if (langtag) { - g_string_append_c (langstr, '\0'); - g_string_append_printf (langstr, "%s", &langtag[1]); - } - - bytes = g_bytes_new_take (langstr->str, - langstr->len + 1); - g_string_free (langstr, FALSE); - + bytes = tracker_sparql_make_langstring (str, langtag); binding = tracker_literal_binding_new (bytes, NULL); g_bytes_unref (bytes); } @@ -9566,3 +9555,24 @@ tracker_sparql_execute_update (TrackerSparql *sparql, return NULL; } + +GBytes * +tracker_sparql_make_langstring (const gchar *str, + const gchar *langtag) +{ + GString *langstr; + GBytes *bytes; + + langstr = g_string_new (str); + + if (langtag) { + g_string_append_c (langstr, '\0'); + g_string_append_printf (langstr, "%s", &langtag[1]); + } + + bytes = g_bytes_new_take (langstr->str, + langstr->len + 1); + g_string_free (langstr, FALSE); + + return bytes; +} diff --git a/src/libtracker-data/tracker-sparql.h b/src/libtracker-data/tracker-sparql.h index e86665c51..57651de1a 100644 --- a/src/libtracker-data/tracker-sparql.h +++ b/src/libtracker-data/tracker-sparql.h @@ -45,4 +45,7 @@ GVariant * tracker_sparql_execute_update (TrackerSparql *sparql, gboolean blank, GError **error); +GBytes * tracker_sparql_make_langstring (const gchar *str, + const gchar *langtag); + #endif /* __TRACKER_SPARQL_H__ */ |