- resp->records = pack_records(assoc, req->resultSetName, 1,
- toget, compp, next, presst, form, req->referenceId,
- req->preferredRecordSyntax, NULL);
+
+ /* Call bend_present if defined */
+ if (assoc->init->bend_present)
+ {
+ bend_present_rr *bprr = (bend_present_rr *)
+ nmem_malloc (reqb->request_mem, sizeof(*bprr));
+ bprr->setname = req->resultSetName;
+ bprr->start = 1;
+ bprr->number = *toget;
+ bprr->format = form;
+ bprr->comp = compp;
+ bprr->referenceId = req->referenceId;
+ bprr->stream = assoc->encode;
+ bprr->print = assoc->print;
+ bprr->request = reqb;
+ bprr->association = assoc;
+ bprr->errcode = 0;
+ bprr->errstring = NULL;
+ (*assoc->init->bend_present)(assoc->backend, bprr);
+
+ if (!bprr->request)
+ return 0;
+ if (bprr->errcode)
+ {
+ resp->records = diagrec(assoc, bprr->errcode, bprr->errstring);
+ *resp->presentStatus = Z_PresentStatus_failure;
+ }
+ }
+
+ if (!resp->records)
+ resp->records = pack_records(assoc, req->resultSetName, 1,
+ toget, compp, next, presst, form, req->referenceId,
+ req->preferredRecordSyntax, NULL);