From 5d8ed7bec58131367d69840bfb299fe93568fe6d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 20 Jan 2008 05:14:59 +0000 Subject: Fix slv2_plugin_has_feature. git-svn-id: http://svn.drobilla.net/lad/slv2@1083 a436a847-0d15-0410-975c-d299462d15a1 --- src/plugin.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src/plugin.c') diff --git a/src/plugin.c b/src/plugin.c index ae47d81..2536277 100644 --- a/src/plugin.c +++ b/src/plugin.c @@ -535,22 +535,14 @@ slv2_plugin_has_feature(SLV2Plugin p, const char* feature) { assert(feature); + SLV2Values features = slv2_plugin_get_supported_features(p); + + SLV2Value val = slv2_value_new(SLV2_VALUE_URI, feature); - const char* const query = slv2_strjoin( - "ASK {\n" - " { <> lv2:optionalFeature <", feature, "> }\n" - " UNION\n" - " { <> lv2:requiredFeature <", feature, "> }\n" - "}\n", NULL); - - - librdf_query_results* results = slv2_plugin_query(p, query); - assert(librdf_query_results_is_boolean(results)); - - const bool ret = results && (librdf_query_results_get_boolean(results) > 0); + const bool ret = features && slv2_values_contains(features, val); - if (results) - librdf_free_query_results(results); + slv2_values_free(features); + slv2_value_free(val); return ret; } -- cgit v1.2.1