X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=src%2Fpazpar2_config.c;h=a3507860cbf2e90a1a4206ee2dba9e582f4b3a95;hb=b2807317725db68d786503711be67ecf163115b7;hp=959bfcb28f6e8512be9decda26f39ab81c98495f;hpb=fdf549621a2712e2e7fafd5966bbbf9a5c891adf;p=pazpar2-moved-to-github.git diff --git a/src/pazpar2_config.c b/src/pazpar2_config.c index 959bfcb..a350786 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -26,9 +26,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include -#include -#include -#include #include #include @@ -131,7 +128,7 @@ static struct conf_service *service_init(struct conf_server *server, service->server = server; service->session_timeout = 60; /* default session timeout */ service->z3950_session_timeout = 180; - service->z3950_connect_timeout = 15; + service->z3950_operation_timeout = 30; service->relevance_pct = 0; service->sort_pct = 0; @@ -412,9 +409,19 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, else sortkey_offset = -1; - if (xml_mergekey && strcmp((const char *) xml_mergekey, "no")) + if (xml_mergekey) { - mergekey_type = Metadata_mergekey_yes; + if (!strcmp((const char *) xml_mergekey, "required")) + mergekey_type = Metadata_mergekey_required; + else if (!strcmp((const char *) xml_mergekey, "optional")) + mergekey_type = Metadata_mergekey_optional; + else if (!strcmp((const char *) xml_mergekey, "no")) + mergekey_type = Metadata_mergekey_no; + else + { + yaz_log(YLOG_FATAL, "Unknown value for mergekey: %s", xml_mergekey); + return -1; + } } @@ -433,6 +440,7 @@ static int parse_metadata(struct conf_service *service, xmlNode *n, xmlFree(xml_termlist); xmlFree(xml_rank); xmlFree(xml_setting); + xmlFree(xml_mergekey); (*md_node)++; return 0; } @@ -481,14 +489,14 @@ static struct conf_service *service_create_static(struct conf_server *server, return 0; } } - src = xmlGetProp(n, (xmlChar *) "z3950_connect"); + src = xmlGetProp(n, (xmlChar *) "z3950_operation"); if (src) { - service->z3950_connect_timeout = atoi((const char *) src); + service->z3950_operation_timeout = atoi((const char *) src); xmlFree(src); if (service->z3950_session_timeout < 9) { - yaz_log(YLOG_FATAL, "Z39.50 connect timeout out of range"); + yaz_log(YLOG_FATAL, "Z39.50 operation timeout out of range"); return 0; } } @@ -822,17 +830,13 @@ static struct conf_server *server_create(struct conf_config *config, return server; } -xsltStylesheet *conf_load_stylesheet(struct conf_service *service, - const char *fname) +WRBUF conf_get_fname(struct conf_service *service, const char *fname) { struct conf_config *config = service->server->config; WRBUF w = wrbuf_alloc(); - xsltStylesheet *s; conf_dir_path(config, w, fname); - s = xsltParseStylesheetFile((xmlChar *) wrbuf_cstr(w)); - wrbuf_destroy(w); - return s; + return w; } static struct conf_targetprofiles *parse_targetprofiles(NMEM nmem,