X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=6b0f80ec4064422abd15e1fe84c4132eb34f6165;hb=762b8f1410065bff60b1e174ec58e9d3d229c871;hp=bd153729c290194b02d58f40c764d40b661deee3;hpb=255028c8f59212f89479222cdd4477a5a6367785;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index bd15372..6b0f80e 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2005, Index Data ApS * See the file LICENSE for details. * - * $Id: seshigh.c,v 1.83 2006-05-30 04:01:55 quinn Exp $ + * $Id: seshigh.c,v 1.85 2006-05-31 16:20:41 quinn Exp $ */ /** * \file seshigh.c @@ -1015,32 +1015,19 @@ static void srw_bend_search(association *assoc, request *req, bprr->start = start; bprr->number = number; bprr->format = VAL_TEXT_XML; - bprr->comp = (Z_RecordComposition *) odr_malloc(assoc->decode, - sizeof(*bprr->comp)); - bprr->comp->which = Z_RecordComp_complex; - bprr->comp->u.complex = (Z_CompSpec *) odr_malloc(assoc->decode, - sizeof(Z_CompSpec)); - bprr->comp->u.complex->selectAlternativeSyntax = (bool_t *) - odr_malloc(assoc->decode, sizeof(bool_t)); - *bprr->comp->u.complex->selectAlternativeSyntax = 0; - bprr->comp->u.complex->num_dbSpecific = 0; - bprr->comp->u.complex->dbSpecific = 0; - bprr->comp->u.complex->num_recordSyntax = 0; - bprr->comp->u.complex->recordSyntax = 0; - bprr->comp->u.complex->generic = (Z_Specification *) - odr_malloc(assoc->decode, sizeof(Z_Specification)); - bprr->comp->u.complex->generic->which = Z_Schema_uri; - bprr->comp->u.complex->generic->schema.uri = srw_req->recordSchema; - bprr->comp->u.complex->generic->elementSpec = 0; if (srw_req->recordSchema) { - bprr->comp->u.complex->generic->elementSpec = - (Z_ElementSpec *) odr_malloc(assoc->decode, - sizeof(Z_ElementSpec)); - bprr->comp->u.complex->generic->elementSpec->which = - Z_ElementSpec_elementSetName; - bprr->comp->u.complex->generic->elementSpec->u.elementSetName = - srw_req->recordSchema; + bprr->comp = (Z_RecordComposition *) odr_malloc(assoc->decode, + sizeof(*bprr->comp)); + bprr->comp->which = Z_RecordComp_simple; + bprr->comp->u.simple = (Z_ElementSetNames *) + odr_malloc(assoc->decode, sizeof(Z_ElementSetNames)); + bprr->comp->u.simple->which = Z_ElementSetNames_generic; + bprr->comp->u.simple->u.generic = srw_req->recordSchema; + } + else + { + bprr->comp = 0; } bprr->stream = assoc->encode; bprr->referenceId = 0; @@ -1055,11 +1042,11 @@ static void srw_bend_search(association *assoc, request *req, return; if (bprr->errcode) { - srw_error = yaz_diag_bib1_to_srw (rr.errcode); + srw_error = yaz_diag_bib1_to_srw (bprr->errcode); yaz_add_srw_diagnostic(assoc->encode, &srw_res->diagnostics, &srw_res->num_diagnostics, - srw_error, rr.errstring); + srw_error, bprr->errstring); ok = 0; } } @@ -2295,7 +2282,7 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->init->implementation_name, odr_prepend(assoc->encode, "GFS", resp->implementationName)); - version = odr_strdup(assoc->encode, "$Revision: 1.83 $"); + version = odr_strdup(assoc->encode, "$Revision: 1.85 $"); if (strlen(version) > 10) /* check for unexpanded CVS strings */ version[strlen(version)-2] = '\0'; resp->implementationVersion = odr_prepend(assoc->encode,