From c071bf73fb692168b3d4490000fc3ae07148a2ad Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 25 Dec 2008 14:23:58 +0100 Subject: [PATCH] Ensure Pazpar2 stops if ICU is used while insupported. --- src/charsets.c | 2 ++ src/pazpar2_config.c | 12 +++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) 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")) { -- 1.7.10.4