Fix documentation of of chr's equivalent directive ZEB-672
[idzebra-moved-to-github.git] / data1 / d1_tagset.c
index 2e32ef4..9c8860c 100644 (file)
@@ -1,8 +1,5 @@
-/* $Id: d1_tagset.c,v 1.6 2005-01-15 19:38:18 adam Exp $
-   Copyright (C) 1995-2005
-   Index Data ApS
-
-This file is part of the Zebra server.
+/* This file is part of the Zebra server.
+   Copyright (C) Index Data
 
 Zebra is free software; you can redistribute it and/or modify it under
 the terms of the GNU General Public License as published by the Free
@@ -15,17 +12,21 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with Zebra; see the file LICENSE.zebra.  If not, write to the
-Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-02111-1307, USA.
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
 */
 
+#if HAVE_CONFIG_H
+#include <config.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
 #include <yaz/log.h>
 #include <idzebra/data1.h>
+#include <yaz/oid_db.h>
 
 /*
  * We'll probably want to add some sort of hashed index to these lookup-
@@ -64,7 +65,7 @@ data1_tag *data1_gettagbynum (data1_handle dh, data1_tagset *s,
                              int type, int value)
 {
     data1_tag *r;
-    
+
     for (; s; s = s->next)
     {
        /* scan local set */
@@ -108,7 +109,7 @@ data1_tagset *data1_empty_tagset (data1_handle dh)
     data1_tagset *res =
        (data1_tagset *) nmem_malloc(data1_nmem_get (dh), sizeof(*res));
     res->name = 0;
-    res->reference = VAL_NONE;
+    res->oid = 0;
     res->tags = 0;
     res->type = 0;
     res->children = 0;
@@ -172,7 +173,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
                fclose(f);
                return 0;
            }
-           
+
            /* read namelist */
            nm = names;
            npp = &rr->names;
@@ -203,7 +204,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
        else if (!strcmp(cmd, "reference"))
        {
            char *name;
-           
+
            if (argc != 2)
            {
                yaz_log(YLOG_WARN, "%s:%d: Bad # args to reference",
@@ -211,7 +212,9 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
                continue;
            }
            name = argv[1];
-           if ((res->reference = oid_getvalbyname(name)) == VAL_NONE)
+            res->oid = yaz_string_to_oid_nmem(yaz_oid_std(),
+                                              CLASS_TAGSET, name, mem);
+           if (!res->oid)
            {
                yaz_log(YLOG_WARN, "%s:%d: Unknown tagset ref '%s'",
                        file, lineno, name);
@@ -260,3 +263,12 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
     fclose(f);
     return res;
 }
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+