X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fsolr.c;h=7cfd056e2b0dc01bd071736122ebe6ba38b66b5c;hp=9b9efb60a895dee97aaff62b7de9bef1c61d064b;hb=0380a06a86927164ff17500bcf7c3b54fd5428c4;hpb=1a4d6b95fab9bceec919854df8efe8363df55997 diff --git a/src/solr.c b/src/solr.c index 9b9efb6..7cfd056 100644 --- a/src/solr.c +++ b/src/solr.c @@ -267,14 +267,14 @@ static int yaz_solr_decode_scan_result(ODR o, xmlNodePtr ptr, 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")) @@ -282,18 +282,18 @@ static int yaz_solr_decode_scan_result(ODR o, xmlNodePtr ptr, 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. */ @@ -308,11 +308,11 @@ static int yaz_solr_decode_scan_result(ODR o, xmlNodePtr ptr, term->displayTerm = NULL; } term->whereInList = NULL; - + i++; } } - + if (scr->num_terms) return 0; return -1; @@ -330,7 +330,7 @@ int yaz_solr_decode_response(ODR o, Z_HTTP_Response *hres, Z_SRW_PDU **pdup) Z_SRW_PDU *pdu; Z_SRW_searchRetrieveResponse *sr = NULL; Z_SRW_scanResponse *scr = NULL; - + if (!doc) { ret = -1;