re-impl. status check
[yaz-moved-to-github.git] / src / solr.c
index d4f63ca..7a13940 100644 (file)
@@ -162,7 +162,7 @@ static void yaz_solr_decode_facet_counts(ODR o, xmlNodePtr root, Z_SRW_searchRet
                 facet_list_field_set(o, facet_list, yaz_solr_decode_facet_field(o, node, sr), num_facets);
                 num_facets++;
             }
-            sr->facet_list = facet_list;
+            sr->facetList = facet_list;
             break;
         }
     }
@@ -202,19 +202,18 @@ int yaz_solr_decode_response(ODR o, Z_HTTP_Response *hres, Z_SRW_PDU **pdup)
         }
         else
         {
-            /** look for result node */
+            /** look for result (required) and facets node (optional) */
+            int rc_result = -1;
+            int rc_facets = 0;
             for (ptr = root->children; ptr; ptr = ptr->next)
             {
                 if (ptr->type == XML_ELEMENT_NODE &&
                     !strcmp((const char *) ptr->name, "result"))
-                        yaz_solr_decode_result(o, ptr, sr);
+                        rc_result = yaz_solr_decode_result(o, ptr, sr);
                 if (match_xml_node_attribute(ptr, "lst", "name", "facet_counts"))
-                        yaz_solr_decode_facet_counts(o, ptr, sr);
-            }
-            if (!ptr)
-            {
-                ret = -1;
+                    rc_facets =  yaz_solr_decode_facet_counts(o, ptr, sr);
             }
+            ret = rc_result + rc_facets;
         }
     }
     if (doc)
@@ -294,8 +293,8 @@ int yaz_solr_encode_request(Z_HTTP_Request *hreq, Z_SRW_PDU *srw_pdu,
         yaz_add_name_value_str(encode, name, value, &i,
                                "fl", request->recordSchema);
 
-        if (request->facet_list) {
-            Z_FacetList *facet_list = request->facet_list;
+        if (request->facetList) {
+            Z_FacetList *facet_list = request->facetList;
             int limit;
             Odr_int olimit;
             yaz_add_name_value_str(encode, name, value, &i, "facet", "true");