Happy new year
[yaz-moved-to-github.git] / src / solr.c
index d3e9c11..de46b5f 100644 (file)
@@ -1,5 +1,5 @@
 /* This file is part of the YAZ toolkit.
- * Copyright (C) 1995-2011 Index Data
+ * Copyright (C) 1995-2012 Index Data
  * See the file LICENSE for details.
  */
 /**
@@ -26,7 +26,6 @@
 #if YAZ_HAVE_XML2
 #include <libxml/parser.h>
 #include <libxml/tree.h>
-#endif
 
 static void extract_text_node(xmlNodePtr node, WRBUF wrbuf) {
     xmlNodePtr child;
@@ -204,13 +203,13 @@ static int yaz_solr_decode_facet_counts(ODR o, xmlNodePtr root,
     return 0;
 }
 
-static void yaz_solr_decode_suggestion_values(xmlNodePtr ptr, WRBUF wrbuf)
+static void yaz_solr_decode_suggestion_values(xmlNodePtr listPptr, WRBUF wrbuf)
 {
     xmlNodePtr node;
-    for (node = ptr; node; node= node->next) {
-        if (!strcmp((char*)ptr->name, "lst")) {
+    for (node = listPptr; node; node= node->next) {
+        if (!strcmp((char*) node->name, "lst")) {
             xmlNodePtr child;
-            for (child = ptr->children; child; child= child->next) {
+            for (child = node->children; child; child= child->next) {
                 if (match_xml_node_attribute(child, "str", "name", "word")) {
                     wrbuf_puts(wrbuf, "<suggestion>");
                     extract_text_node(child, wrbuf);
@@ -236,10 +235,10 @@ static void yaz_solr_decode_misspelled(xmlNodePtr lstPtr, WRBUF wrbuf)
     xmlNodePtr node;
     for (node = lstPtr; node; node= node->next)
     {
-        if (strcmp((const char*) node->name, "lst")) {
+        if (!strcmp((const char*) node->name, "lst")) {
             const char *misspelled = yaz_element_attribute_value_get(node, "lst", "name");
             if (misspelled) {
-                wrbuf_printf(wrbuf, "<misspelled term=\"%s\">", misspelled);
+                wrbuf_printf(wrbuf, "<misspelled term=\"%s\">\n", misspelled);
                 yaz_solr_decode_suggestion_lst(node->children, wrbuf);
                 wrbuf_puts(wrbuf, "</misspelled>\n");
             }
@@ -262,6 +261,7 @@ static int yaz_solr_decode_spellcheck(ODR o, xmlNodePtr spellcheckPtr, Z_SRW_sea
     sr->suggestions = odr_strdup(o, wrbuf_cstr(wrbuf));
     return 0;
 }
+#endif
 
 int yaz_solr_decode_response(ODR o, Z_HTTP_Response *hres, Z_SRW_PDU **pdup)
 {