projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ICU: using icu_iter for existing interface
[yaz-moved-to-github.git]
/
src
/
seshigh.c
diff --git
a/src/seshigh.c
b/src/seshigh.c
index
15535b1
..
b0349e7
100644
(file)
--- a/
src/seshigh.c
+++ b/
src/seshigh.c
@@
-847,9
+847,10
@@
static int ccl2pqf(ODR odr, const Odr_oct *ccl, CCL_bibset bibset,
static void srw_bend_search(association *assoc, request *req,
Z_SRW_PDU *sr,
static void srw_bend_search(association *assoc, request *req,
Z_SRW_PDU *sr,
- Z_SRW_searchRetrieveResponse *srw_res,
+ Z_SRW_PDU *res,
int *http_code)
{
int *http_code)
{
+ Z_SRW_searchRetrieveResponse *srw_res = res->u.response;
int srw_error = 0;
Z_External *ext;
Z_SRW_searchRetrieveRequest *srw_req = sr->u.request;
int srw_error = 0;
Z_External *ext;
Z_SRW_searchRetrieveRequest *srw_req = sr->u.request;
@@
-872,6
+873,8
@@
static void srw_bend_search(association *assoc, request *req,
rr.partial_resultset = 0;
rr.query = (Z_Query *) odr_malloc(assoc->decode, sizeof(*rr.query));
rr.query->u.type_1 = 0;
rr.partial_resultset = 0;
rr.query = (Z_Query *) odr_malloc(assoc->decode, sizeof(*rr.query));
rr.query->u.type_1 = 0;
+ rr.extra_args = sr->extra_args;
+ rr.extra_response_data = 0;
if (srw_req->query_type == Z_SRW_query_type_cql)
{
if (srw_req->query_type == Z_SRW_query_type_cql)
{
@@
-1093,6
+1096,11
@@
static void srw_bend_search(association *assoc, request *req,
srw_res->records = 0;
}
}
srw_res->records = 0;
}
}
+ if (rr.extra_response_data)
+ {
+ res->extraResponseData_buf = rr.extra_response_data;
+ res->extraResponseData_len = strlen(rr.extra_response_data);
+ }
if (rr.estimated_hit_count || rr.partial_resultset)
{
yaz_add_srw_diagnostic(
if (rr.estimated_hit_count || rr.partial_resultset)
{
yaz_add_srw_diagnostic(
@@
-1783,8
+1791,7
@@
static void process_http_request(association *assoc, request *req)
}
else
{
}
else
{
- srw_bend_search(assoc, req, sr, res->u.response,
- &http_code);
+ srw_bend_search(assoc, req, sr, res, &http_code);
}
if (http_code == 200)
soap_package->u.generic->p = res;
}
if (http_code == 200)
soap_package->u.generic->p = res;
@@
-2628,6
+2635,8
@@
static Z_APDU *process_searchRequest(association *assoc, request *reqb,
bsrr->srw_setnameIdleTime = 0;
bsrr->estimated_hit_count = 0;
bsrr->partial_resultset = 0;
bsrr->srw_setnameIdleTime = 0;
bsrr->estimated_hit_count = 0;
bsrr->partial_resultset = 0;
+ bsrr->extra_args = 0;
+ bsrr->extra_response_data = 0;
yaz_log (log_requestdetail, "ResultSet '%s'", req->resultSetName);
if (req->databaseNames)
yaz_log (log_requestdetail, "ResultSet '%s'", req->resultSetName);
if (req->databaseNames)