Allow elementSetName to be specified for ZOOM C record update.
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 21 Jun 2007 09:00:53 +0000 (09:00 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 21 Jun 2007 09:00:53 +0000 (09:00 +0000)
NEWS
doc/zoom.xml
src/zoom-c.c

diff --git a/NEWS b/NEWS
index 5223355..5be7dcb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+Allow elementSetName to be specified for ZOOM C record update.
+
 Allow waitAction to be specified for ZOOM C based for Extended Services.
 
 --- 3.0.6 2007/06/06
index 14785d4..2075f34 100644 (file)
@@ -20,7 +20,7 @@ ZOOM_options_set_int(opt, name, value)
 ZOOM_connection_scan1 (ZOOM_connection c, ZOOM_query startterm)
 ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
 -->
-<!-- $Id: zoom.xml,v 1.59 2007-06-20 12:55:29 adam Exp $ -->
+<!-- $Id: zoom.xml,v 1.60 2007-06-21 09:00:53 adam Exp $ -->
  <chapter id="zoom"><title>ZOOM</title>
   <para>
     &zoom; is an acronym for 'Z39.50 Object-Orientation Model' and is
@@ -1177,12 +1177,17 @@ ZOOM_query_cql2rpn(ZOOM_query s, const char *str, ZOOM_connection conn)
        <row>
        <entry>correlationInfo.note</entry>
        <entry>Correlation Info Note (string)</entry>
-       <entry>none (omitted)</entry>
+       <entry>none</entry>
        </row>
        <row>
        <entry>correlationInfo.id</entry>
        <entry>Correlation Info ID (integer)</entry>
-       <entry>none (omitted)</entry>
+       <entry>none</entry>
+       </row>
+       <row>
+       <entry>elementSetName</entry>
+       <entry>Element Set for Record</entry>
+       <entry>none</entry>
        </row>
       </tbody>
      </tgroup>
index 1c071d6..2cd57cb 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (C) 1995-2007, Index Data ApS
  * See the file LICENSE for details.
  *
- * $Id: zoom-c.c,v 1.134 2007-06-20 12:55:29 adam Exp $
+ * $Id: zoom-c.c,v 1.135 2007-06-21 09:00:53 adam Exp $
  */
 /**
  * \file zoom-c.c
@@ -1341,7 +1341,7 @@ static zoom_ret ZOOM_connection_send_init(ZOOM_connection c)
                     odr_prepend(c->odr_out, "ZOOM-C",
                                 ireq->implementationName));
     
-    version = odr_strdup(c->odr_out, "$Revision: 1.134 $");
+    version = odr_strdup(c->odr_out, "$Revision: 1.135 $");
     if (strlen(version) > 10)   /* check for unexpanded CVS strings */
         version[strlen(version)-2] = '\0';
     ireq->implementationVersion = 
@@ -3175,6 +3175,8 @@ static Z_APDU *create_update_package(ZOOM_package p)
         Z_IUSuppliedRecords *notToKeep;
         Z_External *r = (Z_External *)
             odr_malloc(p->odr_out, sizeof(*r));
+        const char *elementSetName =
+            ZOOM_options_get(p->options, "elementSetName");
         
         apdu->u.extendedServicesRequest->taskSpecificParameters = r;
 
@@ -3196,7 +3198,11 @@ static Z_APDU *create_update_package(ZOOM_package p)
         
         toKeep->databaseName = odr_strdup(p->odr_out, first_db);
         toKeep->schema = 0;
+        
         toKeep->elementSetName = 0;
+        if (elementSetName)
+            toKeep->elementSetName = odr_strdup(p->odr_out, elementSetName);
+            
         toKeep->actionQualifier = 0;
         toKeep->action = odr_intdup(p->odr_out, action_no);