diff options
author | Sam Thursfield <sam@afuera.me.uk> | 2019-04-01 12:57:38 +0200 |
---|---|---|
committer | Sam Thursfield <sam@afuera.me.uk> | 2019-04-01 12:57:38 +0200 |
commit | 8cec529629a1c805dd9c5ca6ab57e0de96c7b530 (patch) | |
tree | d16bcbcee8dbc91b2faebc8dc3c34f3d24a5fe78 /src | |
parent | c1a57a038d18f69e5130f6c3b978384c010f5b7c (diff) | |
download | tracker-8cec529629a1c805dd9c5ca6ab57e0de96c7b530.tar.gz |
libtracker-sparql: Don't try to create JSON nodes with unsigned integers
It turns out that json-glib only allows signed integer fields. This
fixes missing values when running `tracker-extract -o json-ld` in
certain cases. If you hit this bug you might also see the following
error:
Invalid value of type 'guint'
Diffstat (limited to 'src')
-rw-r--r-- | src/libtracker-sparql/tracker-resource.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libtracker-sparql/tracker-resource.c b/src/libtracker-sparql/tracker-resource.c index a5d006270..989fafb65 100644 --- a/src/libtracker-sparql/tracker-resource.c +++ b/src/libtracker-sparql/tracker-resource.c @@ -1595,6 +1595,10 @@ generate_jsonld_value (const GValue *value, node = json_node_new (JSON_NODE_VALUE); json_node_set_string (node, uri); json_builder_add_value (data->builder, node); + } else if (G_VALUE_HOLDS (value, G_TYPE_UINT)) { + node = json_node_new (JSON_NODE_VALUE); + json_node_set_int (node, g_value_get_uint(value)); + json_builder_add_value (data->builder, node); } else { node = json_node_new (JSON_NODE_VALUE); json_node_set_value (node, value); |