X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fdatabase.c;h=d7c335655e12757225fa38876254040d370ce76a;hb=ff90a10d56bd25ce276eab48c5cebfe7e7324f70;hp=1834b7854de0890440b1b412bcb597dbed8242b3;hpb=216073a7a0d2fdfc9d88c58b1a2ff83fa76d4628;p=pazpar2-moved-to-github.git diff --git a/src/database.c b/src/database.c index 1834b78..d7c3356 100644 --- a/src/database.c +++ b/src/database.c @@ -45,25 +45,21 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #endif -static struct host *hosts = 0; // The hosts we know about +static struct host *hosts = 0; /* thread pr */ -static xmlDoc *get_explain_xml(const char *id) +static xmlDoc *get_explain_xml(struct conf_targetprofiles *targetprofiles, + const char *id) { struct stat st; char *dir; char path[256]; char ide[256]; - if (!config || !config->targetprofiles) - { - yaz_log(YLOG_WARN, "Config must be loaded and specify targetprofiles"); - return 0; - } - if (config->targetprofiles->type != Targetprofiles_local) + if (targetprofiles->type != Targetprofiles_local) { yaz_log(YLOG_FATAL, "Only supports local type"); return 0; } - dir = config->targetprofiles->src; + dir = targetprofiles->src; urlencode(id, ide); sprintf(path, "%s/%s", dir, ide); if (!stat(path, &st)) @@ -115,8 +111,8 @@ static struct database *load_database(const char *id, yaz_log(YLOG_LOG, "New database: %s", id); - if (config && config->targetprofiles - && (doc = get_explain_xml(id))) + if (service->targetprofiles + && (doc = get_explain_xml(service->targetprofiles, id))) { explain = zr_read_xml(service->nmem, xmlDocGetRootElement(doc)); if (!explain)