Simplified comp for present called from srw_bend_search
authorSebastian Hammer <quinn@indexdata.com>
Tue, 30 May 2006 04:50:04 +0000 (04:50 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Tue, 30 May 2006 04:50:04 +0000 (04:50 +0000)
src/seshigh.c

index bd15372..d74a617 100644 (file)
@@ -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.84 2006-05-30 04:50:04 quinn Exp $
  */
 /**
  * \file seshigh.c
@@ -1017,31 +1017,11 @@ static void srw_bend_search(association *assoc, request *req,
                             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->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;
                             bprr->stream = assoc->encode;
                             bprr->referenceId = 0;
                             bprr->print = assoc->print;
@@ -1055,11 +1035,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 +2275,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.84 $");
     if (strlen(version) > 10)   /* check for unexpanded CVS strings */
         version[strlen(version)-2] = '\0';
     resp->implementationVersion = odr_prepend(assoc->encode,