From: Adam Dickmeiss Date: Thu, 30 Apr 2015 08:44:08 +0000 (+0200) Subject: DRY the schema lookup X-Git-Tag: v0.6~47 X-Git-Url: http://sru.miketaylor.org.uk/cgi-bin?a=commitdiff_plain;h=c67fb311da29c5b98eeb003ca1c07c1274fea947;p=mp-sparql-moved-to-github.git DRY the schema lookup --- 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)