summaryrefslogtreecommitdiffstats
path: root/src/plugin.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-01-30 23:01:41 +0000
committerDavid Robillard <d@drobilla.net>2011-01-30 23:01:41 +0000
commit41164a763cdc9270dadcf45549c715ce90a47ed5 (patch)
treedfd23683823e626dabadf56c6e7805628c4d124c /src/plugin.c
parentd136e0bbd0f0d30a1a6d519462f4ad7bee4812b1 (diff)
downloadlilv-41164a763cdc9270dadcf45549c715ce90a47ed5.tar.gz
lilv-41164a763cdc9270dadcf45549c715ce90a47ed5.tar.bz2
lilv-41164a763cdc9270dadcf45549c715ce90a47ed5.zip
Make slv2_ui_new take SLV2Value URI arguments rather than librdf_uri.
Avoids an unnecessary node copy, UI takes ownership of queried nodes. git-svn-id: http://svn.drobilla.net/lad/trunk/slv2@2877 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/plugin.c b/src/plugin.c
index 9f3248b..43eb0f8 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -841,19 +841,19 @@ slv2_plugin_get_uis(SLV2Plugin p)
if (!librdf_node_is_resource(ui)
|| !slv2_value_is_uri(type)
|| !slv2_value_is_uri(binary)) {
+ slv2_value_free(binary);
+ slv2_value_free(type);
SLV2_ERROR("Corrupt UI\n");
continue;
}
- SLV2UI slv2_ui = slv2_ui_new(p->world,
- librdf_node_get_uri(ui),
- slv2_value_as_librdf_uri(type),
- slv2_value_as_librdf_uri(binary));
+ SLV2UI slv2_ui = slv2_ui_new(
+ p->world,
+ slv2_value_new_librdf_uri(p->world, librdf_node_get_uri(ui)),
+ type,
+ binary);
raptor_sequence_push(result, slv2_ui);
-
- slv2_value_free(binary);
- slv2_value_free(type);
}
END_MATCH(uis);