X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fzoom-z3950.c;h=a65b54fcd596e2ba1c2410ce12a85c8fe446f5c9;hp=e39ff8a4d1fe652b0c01dac2b1e659599fba5f7a;hb=a91467db0bbbaefbaf64410b657a9439104997e0;hpb=dd016baf50d8cd02a1a32d1fd10b5544cae6ff96 diff --git a/src/zoom-z3950.c b/src/zoom-z3950.c index e39ff8a..a65b54f 100644 --- a/src/zoom-z3950.c +++ b/src/zoom-z3950.c @@ -668,10 +668,12 @@ static zoom_ret Z3950_send_search(ZOOM_connection c) if (!mediumSetElementSetName) mediumSetElementSetName = elementSetName; - facets = ZOOM_options_get(r->options, "facets"); - if (facets) { - Z_FacetList *facet_list = yaz_pqf_parse_facet_list(c->odr_out, facets); - if (facet_list) { + if (r->req_facets) + { + Z_FacetList *facet_list = + yaz_pqf_parse_facet_list(c->odr_out, r->req_facets); + if (facet_list) + { Z_OtherInformation **oi = &search_req->additionalSearchInfo; yaz_oi_set_facetlist(oi, c->odr_out, facet_list); } @@ -1121,16 +1123,21 @@ static ZOOM_facet_field get_zoom_facet_field(ODR odr, Z_FacetField *facet) void ZOOM_handle_facet_list(ZOOM_resultset r, Z_FacetList *fl) { int j; - r->num_facets = fl->num; + r->num_res_facets = fl->num; yaz_log(YLOG_DEBUG, "Facets found: %d", fl->num); - r->facets = odr_malloc(r->odr, fl->num * sizeof(*r->facets)); + r->res_facets = odr_malloc(r->odr, fl->num * sizeof(*r->res_facets)); r->facets_names = odr_malloc(r->odr, fl->num * sizeof(*r->facets_names)); for (j = 0; j < fl->num; j++) { - r->facets[j] = get_zoom_facet_field(r->odr, fl->elements[j]); - if (!r->facets[j]) + r->res_facets[j] = get_zoom_facet_field(r->odr, fl->elements[j]); + if (!r->res_facets[j]) + { + r->facets_names[j] = 0; yaz_log(YLOG_DEBUG, "Facet field missing on index %d !", j); - r->facets_names[j] = (char *) ZOOM_facet_field_name(r->facets[j]); + } + else + r->facets_names[j] = (char *) + ZOOM_facet_field_name(r->res_facets[j]); } }