- if (hits)
- *res->nextResultSetPosition = 1;
- res->numberOfRecordsReturned = nulint;
- res->searchStatus = sr;
- res->resultSetStatus = 0;
- res->presentStatus = 0;
- }
-}
-
-void Yaz_Z_Server::fetch_via_present (Z_PresentRequest *req,
- Z_PresentResponse *res)
-{
- res->records = pack_records (req->resultSetId,*req->resultSetStartPoint,
- *req->numberOfRecordsRequested,
- req->recordComposition,
- res->nextResultSetPosition,
- res->presentStatus,
- req->preferredRecordSyntax);
- if (res->records->which == Z_Records_DBOSD)
- *res->numberOfRecordsReturned =
- res->records->u.databaseOrSurDiagnostics->num_records;
-}
-
-void Yaz_Z_Server::recv_Z_PDU (Z_APDU *apdu_request)
-{
- Z_APDU *apdu_response;
- switch (apdu_request->which)
- {
- case Z_APDU_initRequest:
- logf (LOG_LOG, "got InitRequest");
- apdu_response = create_Z_PDU(Z_APDU_initResponse);
- recv_Z_init (apdu_request->u.initRequest,
- apdu_response->u.initResponse);
- m_preferredMessageSize =
- *apdu_request->u.initRequest->preferredMessageSize;
- m_maximumRecordSize =
- *apdu_request->u.initRequest->maximumRecordSize;
- send_Z_PDU(apdu_response);
- break;
- case Z_APDU_searchRequest:
- logf (LOG_LOG, "got SearchRequest");
- apdu_response = create_Z_PDU(Z_APDU_searchResponse);
- recv_Z_search (apdu_request->u.searchRequest,
- apdu_response->u.searchResponse);
- if (!apdu_response->u.searchResponse->records)