From c67fb311da29c5b98eeb003ca1c07c1274fea947 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 30 Apr 2015 10:44:08 +0200 Subject: [PATCH] DRY the schema lookup --- src/sparql.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/sparql.c b/src/sparql.c index 50f41f6..0ce6c40 100644 --- a/src/sparql.c +++ b/src/sparql.c @@ -372,7 +372,7 @@ static int emit_prefixes(yaz_sparql_t s, return errors; } -int yaz_sparql_lookup_schema(yaz_sparql_t s, const char *schema) +struct sparql_entry *lookup_schema(yaz_sparql_t s, const char *schema) { struct sparql_entry *e; @@ -384,7 +384,12 @@ int yaz_sparql_lookup_schema(yaz_sparql_t s, const char *schema) break; } } - return e ? 1 : 0; + return e; +} + +int yaz_sparql_lookup_schema(yaz_sparql_t s, const char *schema) +{ + return lookup_schema(s, schema) ? 1 : 0; } int yaz_sparql_from_uri_stream(yaz_sparql_t s, @@ -394,16 +399,7 @@ int yaz_sparql_from_uri_stream(yaz_sparql_t s, const char *uri, const char *schema) { int r = 0, errors = emit_prefixes(s, addinfo, pr, client_data); - struct sparql_entry *e; - - for (e = s->conf; e; e = e->next) - { - if (!strncmp(e->pattern, "uri.", 4)) - { - if (!schema || !strcmp(e->pattern + 4, schema)) - break; - } - } + struct sparql_entry *e = lookup_schema(s, schema); if (!e) errors++; if (!errors) -- 1.7.10.4