if (ret == 0 && sr->which == Z_SRW_searchRetrieve_response)
handle_srw_response(sr->u.response);
else if (ret == 0 && sr->which == Z_SRW_scan_response)
- handle_srw_scan_response(sr->u.scan_response);
+ handle_srw_scan_response(sr->u.scan_response);
else
{
printf("Decoding of SOLR package failed\n");
xmlAttr *attr;
char *pos;
int i = 0;
-
+
/* find the actual list */
for (node = ptr->children; node; node = node->next)
if (node->type == XML_ELEMENT_NODE) {
ptr = node;
break;
}
-
+
scr->num_terms = 0;
for (node = ptr->children; node; node = node->next)
if (node->type == XML_ELEMENT_NODE && !strcmp((const char *) node->name, "int"))
if (scr->num_terms)
scr->terms = odr_malloc(o, sizeof(*scr->terms) * scr->num_terms);
-
+
for (node = ptr->children; node; node = node->next)
{
if (node->type == XML_ELEMENT_NODE && !strcmp((const char *) node->name, "int"))
{
Z_SRW_scanTerm *term = scr->terms + i;
-
+
Odr_int count = 0;
const char *val = get_facet_term_count(node, &count);
term->numberOfRecords = odr_intdup(o, count);
-
+
/* if val contains a ^ then it is probably term<^>display term so separate them. This is due to
* SOLR not being able to encode them into 2 separate attributes.
*/
term->displayTerm = NULL;
}
term->whereInList = NULL;
-
+
i++;
}
}
-
+
if (scr->num_terms)
return 0;
return -1;
Z_SRW_PDU *pdu;
Z_SRW_searchRetrieveResponse *sr = NULL;
Z_SRW_scanResponse *scr = NULL;
-
+
if (!doc)
{
ret = -1;