+ bend_present_rr *bprr = (bend_present_rr*)
+ odr_malloc (assoc->decode, sizeof(*bprr));
+ bprr->setname = "default";
+ 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->stream = assoc->encode;
+ bprr->referenceId = 0;
+ bprr->print = assoc->print;
+ bprr->request = req;
+ bprr->association = assoc;
+ bprr->errcode = 0;
+ bprr->errstring = NULL;
+ (*assoc->init->bend_present)(assoc->backend, bprr);