X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=c7823c63f4f3582d83acfc27885da04939c95b0a;hb=5dda5d6f7b7917130c95b10b840e10bc1443215b;hp=08c4def6a319a1c91123a2a1519706ce7fe0fe3e;hpb=6ac71490dcd57707b2f5e77abfe3ca4e0944cc68;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index 08c4def..c7823c6 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -1254,8 +1254,9 @@ static void srw_bend_explain(association *assoc, { Z_SRW_explainRequest *srw_req = sr->u.explain_request; yaz_log(log_requestdetail, "Got SRW ExplainRequest"); - *http_code = 404; srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics, sr); + if (!assoc->init && srw_res->num_diagnostics == 0) + *http_code = 404; if (assoc->init) { bend_explain_rr rr; @@ -1329,6 +1330,7 @@ static void srw_bend_scan(association *assoc, bsrr->step_size = &step_size; bsrr->entries = 0; bsrr->setname = 0; + bsrr->extra_args = sr->extra_args; bsrr->extra_response_data = 0; if (bsrr->num_entries > 0) @@ -1498,8 +1500,9 @@ static void srw_bend_update(association *assoc, Z_SRW_updateRequest *srw_req = sr->u.update_request; yaz_log(log_session, "SRWUpdate action=%s", srw_req->operation); yaz_log(YLOG_DEBUG, "num_diag = %d", srw_res->num_diagnostics ); - *http_code = 404; srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics, sr); + if (!assoc->init && srw_res->num_diagnostics == 0) + *http_code = 404; if (assoc->init) { bend_update_rr rr; @@ -2692,7 +2695,9 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb) bsrr->errcode = 0; bsrr->errstring = NULL; bsrr->search_info = NULL; - bsrr->search_input = req->otherInfo; + bsrr->search_input = req->additionalSearchInfo; + if (!bsrr->search_input) + bsrr->search_input = req->otherInfo; bsrr->present_number = *req->mediumSetPresentNumber; if (assoc->server && assoc->server->cql_transform @@ -3051,6 +3056,7 @@ static Z_APDU *process_scanRequest(association *assoc, request *reqb) bsrr->setname = yaz_oi_get_string_oid(&req->otherInfo, yaz_oid_userinfo_scan_set, 1, 0); bsrr->entries = 0; + bsrr->extra_args = 0; bsrr->extra_response_data = 0; /* For YAZ 2.0 and earlier it was the backend handler that initialized entries (member display_term did not exist)