From: Adam Dickmeiss Date: Thu, 25 Dec 2008 13:23:58 +0000 (+0100) Subject: Ensure Pazpar2 stops if ICU is used while insupported. X-Git-Tag: v1.1.0~53 X-Git-Url: http://lists.indexdata.com/cgi-bin?a=commitdiff_plain;h=69294b03fb402b15534ab923e80daff0d08312da;p=pazpar2-moved-to-github.git Ensure Pazpar2 stops if ICU is used while insupported. --- diff --git a/src/charsets.c b/src/charsets.c index 35dd611..f722416 100644 --- a/src/charsets.c +++ b/src/charsets.c @@ -71,6 +71,8 @@ pp2_charset_t pp2_charset_create_xml(xmlNode *xml_node) #ifdef HAVE_ICU UErrorCode status = U_ZERO_ERROR; struct icu_chain *chain = 0; + if (xml_node) + xml_node = xml_node->children; while (xml_node && xml_node->type != XML_ELEMENT_NODE) xml_node = xml_node->next; chain = icu_chain_xml_config(xml_node, &status); diff --git a/src/pazpar2_config.c b/src/pazpar2_config.c index 174fe83..ef6f2e4 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -471,15 +471,21 @@ static struct conf_server *parse_server(xmlNode *node) } else if (!strcmp((const char *) n->name, "relevance")) { - server->relevance_pct = pp2_charset_create_xml(n->children); + server->relevance_pct = pp2_charset_create_xml(n); + if (!server->relevance_pct) + return 0; } else if (!strcmp((const char *) n->name, "sort")) { - server->sort_pct = pp2_charset_create_xml(n->children); + server->sort_pct = pp2_charset_create_xml(n); + if (!server->sort_pct) + return 0; } else if (!strcmp((const char *) n->name, "mergekey")) { - server->mergekey_pct = pp2_charset_create_xml(n->children); + server->mergekey_pct = pp2_charset_create_xml(n); + if (!server->mergekey_pct) + return 0; } else if (!strcmp((const char *) n->name, "service")) {