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-Url: http://sru.miketaylor.org.uk/cgi-bin?a=commitdiff_plain;h=c071bf73fb692168b3d4490000fc3ae07148a2ad;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 b2470bd..eedf1db 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 f6baa27..06cfa66 100644 --- a/src/pazpar2_config.c +++ b/src/pazpar2_config.c @@ -470,15 +470,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")) {