X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=data1%2Fd1_tagset.c;h=cba7e696c41577d3db0869afc51e53df4ca2bdfe;hp=a33753c0bd7d03fe586fbc9acd5668f42d0de127;hb=250de4ed23a44f5eb3552db317eef0d0fbe3265c;hpb=4478d785b7769691261005c98063b98a5a5971b3 diff --git a/data1/d1_tagset.c b/data1/d1_tagset.c index a33753c..cba7e69 100644 --- a/data1/d1_tagset.c +++ b/data1/d1_tagset.c @@ -1,8 +1,5 @@ -/* $Id: d1_tagset.c,v 1.8 2006-08-14 10:40:06 adam Exp $ - Copyright (C) 1995-2006 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 2004-2013 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 @@ -20,12 +17,16 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include #include #include +#include /* * 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); @@ -263,6 +266,7 @@ data1_tagset *data1_read_tagset (data1_handle dh, const char *file, int type) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab