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)
{
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 ?
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;
res->referenceId = req->referenceId;
/* if step is absent, set it to 0 */
res->referenceId = req->referenceId;
/* if step is absent, set it to 0 */
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->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;
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 ?
((int (*)(void *, bend_scan_rr *))
(*assoc->init->bend_scan))(assoc->backend, bsrr);
((int (*)(void *, bend_scan_rr *))
(*assoc->init->bend_scan))(assoc->backend, bsrr);
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);
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++)
(Z_ListStatus *)
odr_malloc(assoc->encode,
sizeof(**res->deleteListStatuses->elements));
(Z_ListStatus *)
odr_malloc(assoc->encode,
sizeof(**res->deleteListStatuses->elements));
res->deleteListStatuses->elements[i]->id =
odr_strdup(assoc->encode, bdrr->setnames[i]);
}
res->deleteListStatuses->elements[i]->id =
odr_strdup(assoc->encode, bdrr->setnames[i]);
}