Happy new year
[idzebra-moved-to-github.git] / data1 / d1_tagset.c
index 8b1ada6..9c8860c 100644 (file)
@@ -1,17 +1,32 @@
-/*
- * Copyright (c) 1995-2002, Index Data.
- * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
- *
- * $Id: d1_tagset.c,v 1.1 2002-10-22 12:53:33 adam Exp $
- */
+/* 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
+Software Foundation; either version 2, or (at your option) any later
+version.
+
+Zebra is distributed in the hope that it will be useful, but WITHOUT ANY
+WARRANTY; without even the implied warranty of MERCHANTABILITY or
+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 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 <data1.h>
+#include <idzebra/data1.h>
+#include <yaz/oid_db.h>
 
 /*
  * We'll probably want to add some sort of hashed index to these lookup-
@@ -50,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 */
@@ -94,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;
@@ -115,7 +130,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
 
     if (!(f = data1_path_fopen(dh, file, "r")))
     {
-       yaz_log(LOG_WARN|LOG_ERRNO, "%s", file);
+       yaz_log(YLOG_WARN|YLOG_ERRNO, "%s", file);
        return 0;
     }
     res = data1_empty_tagset (dh);
@@ -135,7 +150,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
 
            if (argc != 4)
            {
-               yaz_log(LOG_WARN, "%s:%d: Bad # args to tag", file, lineno);
+               yaz_log(YLOG_WARN, "%s:%d: Bad # args to tag", file, lineno);
                continue;
            }
            value = atoi(argv[1]);
@@ -153,12 +168,12 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
 
            if (!(rr->kind = data1_maptype(dh, type)))
            {
-               yaz_log(LOG_WARN, "%s:%d: Unknown datatype %s",
+               yaz_log(YLOG_WARN, "%s:%d: Unknown datatype %s",
                     file, lineno, type);
                fclose(f);
                return 0;
            }
-           
+
            /* read namelist */
            nm = names;
            npp = &rr->names;
@@ -181,7 +196,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
        {
            if (argc != 2)
            {
-               yaz_log(LOG_WARN, "%s:%d: Bad # args to name", file, lineno);
+               yaz_log(YLOG_WARN, "%s:%d: Bad # args to name", file, lineno);
                continue;
            }
            res->name = nmem_strdup(mem, argv[1]);
@@ -189,17 +204,19 @@ 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(LOG_WARN, "%s:%d: Bad # args to reference",
+               yaz_log(YLOG_WARN, "%s:%d: Bad # args to reference",
                        file, lineno);
                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(LOG_WARN, "%s:%d: Unknown tagset ref '%s'",
+               yaz_log(YLOG_WARN, "%s:%d: Unknown tagset ref '%s'",
                        file, lineno, name);
                continue;
            }
@@ -208,7 +225,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
        {
            if (argc != 2)
            {
-               yaz_log (LOG_WARN, "%s:%d: Bad # args to type", file, lineno);
+               yaz_log (YLOG_WARN, "%s:%d: Bad # args to type", file, lineno);
                continue;
            }
            if (!res->type)
@@ -221,7 +238,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
 
            if (argc < 2)
            {
-               yaz_log(LOG_WARN, "%s:%d: Bad # args to include",
+               yaz_log(YLOG_WARN, "%s:%d: Bad # args to include",
                        file, lineno);
                continue;
            }
@@ -231,7 +248,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
            *childp = data1_read_tagset (dh, name, type);
            if (!(*childp))
            {
-               yaz_log(LOG_WARN, "%s:%d: Inclusion failed for tagset %s",
+               yaz_log(YLOG_WARN, "%s:%d: Inclusion failed for tagset %s",
                        file, lineno, name);
                continue;
            }
@@ -239,10 +256,19 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type)
        }
        else
        {
-           yaz_log(LOG_WARN, "%s:%d: Unknown directive '%s'",
+           yaz_log(YLOG_WARN, "%s:%d: Unknown directive '%s'",
                    file, lineno, cmd);
        }
     }
     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
+ */
+