X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=server%2Fseshigh.c;h=ccf44e0af38d50a8d28e5e9aafaa481ee2eea1ef;hb=48bd65a2f5bda9d3407d92137524c14d288ec074;hp=936cd8002948b0d25c1b857b6842671b3323131e;hpb=57a4650104210f5e0bd9b6e0dbde0690000c1dc1;p=yaz-moved-to-github.git diff --git a/server/seshigh.c b/server/seshigh.c index 936cd80..ccf44e0 100644 --- a/server/seshigh.c +++ b/server/seshigh.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2002, Index Data * See the file LICENSE for details. * - * $Id: seshigh.c,v 1.126 2002-01-23 22:40:36 adam Exp $ + * $Id: seshigh.c,v 1.129 2002-04-18 13:18:47 adam Exp $ */ /* @@ -591,6 +591,7 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->init->auth = req->idAuthentication; assoc->init->referenceId = req->referenceId; assoc->init->implementation_version = 0; + assoc->init->implementation_id = 0; assoc->init->implementation_name = 0; assoc->init->bend_sort = NULL; assoc->init->bend_search = NULL; @@ -703,6 +704,16 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) resp->implementationName = "GFS/YAZ"; + if (assoc->init->implementation_id) + { + char *nv = (char *) + odr_malloc (assoc->encode, + strlen(assoc->init->implementation_id) + 10 + + strlen(resp->implementationId)); + sprintf (nv, "%s / %s", + resp->implementationId, assoc->init->implementation_id); + resp->implementationId = nv; + } if (assoc->init->implementation_name) { char *nv = (char *) @@ -1012,6 +1023,7 @@ static Z_APDU *process_searchRequest(association *assoc, request *reqb, bsrr->errcode = 0; bsrr->hits = 0; bsrr->errstring = NULL; + bsrr->search_info = NULL; (assoc->init->bend_search)(assoc->backend, bsrr); if (!bsrr->request) return 0; @@ -1122,6 +1134,7 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb, resp->presentStatus = 0; } } + resp->additionalSearchInfo = bsrt->search_info; return apdu; } @@ -1554,15 +1567,15 @@ void *bend_request_getdata(bend_request r) static Z_APDU *process_segmentRequest (association *assoc, request *reqb) { - bend_segment_rr request; + bend_segment_rr req; - request.segment = reqb->apdu_request->u.segmentRequest; - request.stream = assoc->encode; - request.decode = assoc->decode; - request.print = assoc->print; - request.association = assoc; + req.segment = reqb->apdu_request->u.segmentRequest; + req.stream = assoc->encode; + req.decode = assoc->decode; + req.print = assoc->print; + req.association = assoc; - (*assoc->init->bend_segment)(assoc->backend, &request); + (*assoc->init->bend_segment)(assoc->backend, &req); return 0; }