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
Adding XML Include utility (not W3C's include)
[yaz-moved-to-github.git]
/
src
/
seshigh.c
diff --git
a/src/seshigh.c
b/src/seshigh.c
index
006c3fa
..
5393e4c
100644
(file)
--- a/
src/seshigh.c
+++ b/
src/seshigh.c
@@
-846,7
+846,7
@@
static int ccl2pqf(ODR odr, const Odr_oct *ccl, CCL_bibset bibset,
return 0;
}
return 0;
}
-static void srw_bend_search(association *assoc, request *req,
+static void srw_bend_search(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_PDU *res,
int *http_code)
Z_SRW_PDU *sr,
Z_SRW_PDU *res,
int *http_code)
@@
-1149,7
+1149,7
@@
static void srw_bend_search(association *assoc, request *req,
}
}
}
}
-static char *srw_bend_explain_default(void *handle, bend_explain_rr *rr)
+static char *srw_bend_explain_default(bend_explain_rr *rr)
{
#if YAZ_HAVE_XML2
xmlNodePtr ptr = (xmlNode *) rr->server_node_ptr;
{
#if YAZ_HAVE_XML2
xmlNodePtr ptr = (xmlNode *) rr->server_node_ptr;
@@
-1185,7
+1185,7
@@
static char *srw_bend_explain_default(void *handle, bend_explain_rr *rr)
return 0;
}
return 0;
}
-static void srw_bend_explain(association *assoc, request *req,
+static void srw_bend_explain(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_explainResponse *srw_res,
int *http_code)
Z_SRW_PDU *sr,
Z_SRW_explainResponse *srw_res,
int *http_code)
@@
-1211,7
+1211,7
@@
static void srw_bend_explain(association *assoc, request *req,
if (assoc->init->bend_explain)
(*assoc->init->bend_explain)(assoc->backend, &rr);
else
if (assoc->init->bend_explain)
(*assoc->init->bend_explain)(assoc->backend, &rr);
else
- srw_bend_explain_default(assoc->backend, &rr);
+ srw_bend_explain_default(&rr);
if (rr.explain_buf)
{
if (rr.explain_buf)
{
@@
-1233,7
+1233,7
@@
static void srw_bend_explain(association *assoc, request *req,
}
}
}
}
-static void srw_bend_scan(association *assoc, request *req,
+static void srw_bend_scan(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_scanResponse *srw_res,
int *http_code)
Z_SRW_PDU *sr,
Z_SRW_scanResponse *srw_res,
int *http_code)
@@
-1245,6
+1245,7
@@
static void srw_bend_scan(association *assoc, request *req,
srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics, sr);
if (srw_res->num_diagnostics == 0 && assoc->init)
{
srw_bend_init(assoc, &srw_res->diagnostics, &srw_res->num_diagnostics, sr);
if (srw_res->num_diagnostics == 0 && assoc->init)
{
+ int step_size = 0;
struct scan_entry *save_entries;
bend_scan_rr *bsrr = (bend_scan_rr *)
struct scan_entry *save_entries;
bend_scan_rr *bsrr = (bend_scan_rr *)
@@
-1255,14
+1256,14
@@
static void srw_bend_scan(association *assoc, request *req,
bsrr->num_entries = srw_req->maximumTerms ?
odr_int_to_int(*srw_req->maximumTerms) : 10;
bsrr->term_position = srw_req->responsePosition ?
bsrr->num_entries = srw_req->maximumTerms ?
odr_int_to_int(*srw_req->maximumTerms) : 10;
bsrr->term_position = srw_req->responsePosition ?
- *srw_req->responsePosition : 1;
+ odr_int_to_int(*srw_req->responsePosition) : 1;
bsrr->errcode = 0;
bsrr->errstring = 0;
bsrr->referenceId = 0;
bsrr->stream = assoc->encode;
bsrr->print = assoc->print;
bsrr->errcode = 0;
bsrr->errstring = 0;
bsrr->referenceId = 0;
bsrr->stream = assoc->encode;
bsrr->print = assoc->print;
- bsrr->step_size = odr_intdup(assoc->decode, 0);
+ bsrr->step_size = &step_size;
bsrr->entries = 0;
bsrr->setname = 0;
bsrr->entries = 0;
bsrr->setname = 0;
@@
-1420,7
+1421,7
@@
static void srw_bend_scan(association *assoc, request *req,
}
}
-static void srw_bend_update(association *assoc, request *req,
+static void srw_bend_update(association *assoc,
Z_SRW_PDU *sr,
Z_SRW_updateResponse *srw_res,
int *http_code)
Z_SRW_PDU *sr,
Z_SRW_updateResponse *srw_res,
int *http_code)
@@
-1789,7
+1790,7
@@
static void process_http_request(association *assoc, request *req)
}
else
{
}
else
{
- srw_bend_search(assoc, req, sr, res, &http_code);
+ srw_bend_search(assoc, sr, res, &http_code);
}
if (http_code == 200)
soap_package->u.generic->p = res;
}
if (http_code == 200)
soap_package->u.generic->p = res;
@@
-1804,8
+1805,7
@@
static void process_http_request(association *assoc, request *req)
res->u.explain_response->diagnostics = diagnostic;
res->u.explain_response->num_diagnostics = num_diagnostic;
}
res->u.explain_response->diagnostics = diagnostic;
res->u.explain_response->num_diagnostics = num_diagnostic;
}
- srw_bend_explain(assoc, req, sr,
- res->u.explain_response, &http_code);
+ srw_bend_explain(assoc, sr, res->u.explain_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
if (http_code == 200)
soap_package->u.generic->p = res;
}
@@
-1819,8
+1819,7
@@
static void process_http_request(association *assoc, request *req)
res->u.scan_response->diagnostics = diagnostic;
res->u.scan_response->num_diagnostics = num_diagnostic;
}
res->u.scan_response->diagnostics = diagnostic;
res->u.scan_response->num_diagnostics = num_diagnostic;
}
- srw_bend_scan(assoc, req, sr,
- res->u.scan_response, &http_code);
+ srw_bend_scan(assoc, sr, res->u.scan_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
if (http_code == 200)
soap_package->u.generic->p = res;
}
@@
-1835,8
+1834,7
@@
static void process_http_request(association *assoc, request *req)
res->u.update_response->num_diagnostics = num_diagnostic;
}
yaz_log(YLOG_DEBUG, "num_diag = %d", res->u.update_response->num_diagnostics );
res->u.update_response->num_diagnostics = num_diagnostic;
}
yaz_log(YLOG_DEBUG, "num_diag = %d", res->u.update_response->num_diagnostics );
- srw_bend_update(assoc, req, sr,
- res->u.update_response, &http_code);
+ srw_bend_update(assoc, sr, res->u.update_response, &http_code);
if (http_code == 200)
soap_package->u.generic->p = res;
}
if (http_code == 200)
soap_package->u.generic->p = res;
}
@@
-2918,6
+2916,7
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb)
bend_scan_rr *bsrr = (bend_scan_rr *)
odr_malloc(assoc->encode, sizeof(*bsrr));
struct scan_entry *save_entries;
bend_scan_rr *bsrr = (bend_scan_rr *)
odr_malloc(assoc->encode, sizeof(*bsrr));
struct scan_entry *save_entries;
+ int step_size = 0;
yaz_log(log_requestdetail, "Got ScanRequest");
yaz_log(log_requestdetail, "Got ScanRequest");
@@
-2926,9
+2925,8
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb)
res->referenceId = req->referenceId;
/* if step is absent, set it to 0 */
res->referenceId = req->referenceId;
/* if step is absent, set it to 0 */
- res->stepSize = odr_intdup(assoc->encode, 0);
if (req->stepSize)
if (req->stepSize)
- *res->stepSize = *req->stepSize;
+ step_size = odr_int_to_int(*req->stepSize);
res->scanStatus = scanStatus;
res->numberOfEntriesReturned = numberOfEntriesReturned;
res->scanStatus = scanStatus;
res->numberOfEntriesReturned = numberOfEntriesReturned;
@@
-2957,7
+2955,7
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb)
bsrr->referenceId = req->referenceId;
bsrr->stream = assoc->encode;
bsrr->print = assoc->print;
bsrr->referenceId = req->referenceId;
bsrr->stream = assoc->encode;
bsrr->print = assoc->print;
- bsrr->step_size = res->stepSize;
+ bsrr->step_size = &step_size;
bsrr->setname = yaz_oi_get_string_oid(&req->otherInfo,
yaz_oid_userinfo_scan_set, 1, 0);
bsrr->entries = 0;
bsrr->setname = yaz_oi_get_string_oid(&req->otherInfo,
yaz_oid_userinfo_scan_set, 1, 0);
bsrr->entries = 0;
@@
-2989,7
+2987,7
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb)
log_scan_term_level(log_requestdetail, req->termListAndStartPoint,
bsrr->attributeset);
bsrr->term_position = req->preferredPositionInResponse ?
log_scan_term_level(log_requestdetail, req->termListAndStartPoint,
bsrr->attributeset);
bsrr->term_position = req->preferredPositionInResponse ?
- *req->preferredPositionInResponse : 1;
+ odr_int_to_int(*req->preferredPositionInResponse) : 1;
((int (*)(void *, bend_scan_rr *))
(*assoc->init->bend_scan))(assoc->backend, bsrr);
((int (*)(void *, bend_scan_rr *))
(*assoc->init->bend_scan))(assoc->backend, bsrr);
@@
-3007,11
+3005,12
@@
static Z_APDU *process_scanRequest(association *assoc, request *reqb)
*scanStatus = Z_Scan_partial_5;
else
*scanStatus = Z_Scan_success;
*scanStatus = Z_Scan_partial_5;
else
*scanStatus = Z_Scan_success;
+ res->stepSize = odr_intdup(assoc->encode, step_size);
ents->entries = tab;
ents->num_entries = bsrr->num_entries;
res->numberOfEntriesReturned = odr_intdup(assoc->encode,
ents->num_entries);
ents->entries = tab;
ents->num_entries = bsrr->num_entries;
res->numberOfEntriesReturned = odr_intdup(assoc->encode,
ents->num_entries);
- res->positionOfTerm = &bsrr->term_position;
+ res->positionOfTerm = odr_intdup(assoc->encode, bsrr->term_position);
for (i = 0; i < bsrr->num_entries; i++)
{
Z_Entry *e;
for (i = 0; i < bsrr->num_entries; i++)
{
Z_Entry *e;
@@
-3210,7
+3209,7
@@
static Z_APDU *process_deleteRequest(association *assoc, request *reqb)
bdrr->statuses = 0;
if (bdrr->num_setnames > 0)
{
bdrr->statuses = 0;
if (bdrr->num_setnames > 0)
{
- bdrr->statuses = (Odr_int*)
+ bdrr->statuses = (int*)
odr_malloc(assoc->encode, sizeof(*bdrr->statuses) *
bdrr->num_setnames);
for (i = 0; i < bdrr->num_setnames; i++)
odr_malloc(assoc->encode, sizeof(*bdrr->statuses) *
bdrr->num_setnames);
for (i = 0; i < bdrr->num_setnames; i++)
@@
-3240,7
+3239,8
@@
static Z_APDU *process_deleteRequest(association *assoc, request *reqb)
(Z_ListStatus *)
odr_malloc(assoc->encode,
sizeof(**res->deleteListStatuses->elements));
(Z_ListStatus *)
odr_malloc(assoc->encode,
sizeof(**res->deleteListStatuses->elements));
- res->deleteListStatuses->elements[i]->status = bdrr->statuses+i;
+ res->deleteListStatuses->elements[i]->status =
+ odr_intdup(assoc->encode, bdrr->statuses[i]);
res->deleteListStatuses->elements[i]->id =
odr_strdup(assoc->encode, bdrr->setnames[i]);
}
res->deleteListStatuses->elements[i]->id =
odr_strdup(assoc->encode, bdrr->setnames[i]);
}