From b6d42f8679198904b8210251d9529e6e52ff27a1 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 12 Jan 2014 01:20:18 +0000 Subject: Don't load files multiple times if they are listed as rdfs:seeAlso for several plugins. git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5308 a436a847-0d15-0410-975c-d299462d15a1 --- src/plugin.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/plugin.c') diff --git a/src/plugin.c b/src/plugin.c index b0a726e..cc1bdba 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -166,14 +166,10 @@ lilv_plugin_load(LilvPlugin* p) // Parse all the plugin's data files into RDF model LILV_FOREACH(nodes, i, p->data_uris) { - const LilvNode* data_uri_val = lilv_nodes_get(p->data_uris, i); - const SordNode* data_uri_node = data_uri_val->node; - const char* data_uri_str = lilv_node_as_uri(data_uri_val); - - serd_env_set_base_uri(env, sord_node_to_serd_node(data_uri_node)); - serd_reader_add_blank_prefix(reader, - lilv_world_blank_node_prefix(p->world)); - serd_reader_read_file(reader, (const uint8_t*)data_uri_str); + const LilvNode* data_uri = lilv_nodes_get(p->data_uris, i); + + serd_env_set_base_uri(env, sord_node_to_serd_node(data_uri->node)); + lilv_world_load_file(p->world, reader, data_uri); } #ifdef LILV_DYN_MANIFEST -- cgit v1.2.1