X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_absyn.c;h=15892efa391f81804fccede884a053ae7382feae;hb=e9f4ac05ebcdf0bf3497e62d0f70e9b643d9cc80;hp=96f3b6b6bc9b0856dded52087203d1c817e86851;hpb=b04a1cdb1a0345252a78caa8f7731089df314ad0;p=idzebra-moved-to-github.git diff --git a/data1/d1_absyn.c b/data1/d1_absyn.c index 96f3b6b..15892ef 100644 --- a/data1/d1_absyn.c +++ b/data1/d1_absyn.c @@ -1,5 +1,5 @@ -/* $Id: d1_absyn.c,v 1.32 2006-12-22 13:57:25 adam Exp $ - Copyright (C) 1995-2006 +/* $Id: d1_absyn.c,v 1.36 2007-05-08 12:50:03 adam Exp $ + Copyright (C) 1995-2007 Index Data ApS This file is part of the Zebra server. @@ -26,7 +26,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #include -#include +#include #include #include #include @@ -250,13 +250,13 @@ data1_attset *data1_attset_search_name (data1_handle dh, const char *name) return 0; } -data1_attset *data1_attset_search_id (data1_handle dh, int id) +data1_attset *data1_attset_search_id(data1_handle dh, const Odr_oid *oid) { data1_attset_cache p = *data1_attset_cache_get (dh); while (p) { - if (id == p->attset->reference) + if (p->attset->oid && !oid_oidcmp(oid, p->attset->oid)) return p->attset; p = p->next; } @@ -700,10 +700,9 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file, res = (data1_absyn *) nmem_malloc(data1_nmem_get(dh), sizeof(*res)); res->name = 0; - res->reference = VAL_NONE; + res->oid = 0; res->tagset = 0; res->encoding = 0; - res->staticrank = 0; res->xpath_indexing = (f ? DATA1_XPATH_INDEXING_DISABLE : default_xpath); res->systags = 0; @@ -1023,7 +1022,10 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file, continue; } name = argv[1]; - if ((res->reference = oid_getvalbyname(name)) == VAL_NONE) + res->oid = yaz_string_to_oid_nmem(yaz_oid_std(), + CLASS_SCHEMA, name, + data1_nmem_get(dh)); + if (!res->oid) { yaz_log(YLOG_WARN, "%s:%d: Unknown tagset ref '%s'", file, lineno, name); @@ -1183,18 +1185,6 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file, (*systagsp)->value = nmem_strdup(data1_nmem_get(dh), argv[2]); systagsp = &(*systagsp)->next; } - else if (!strcmp(cmd, "staticrank")) - { - if (argc != 2) - { - yaz_log(YLOG_WARN, "%s:%d: Bad # or args for staticrank", - file, lineno); - } - else - { - res->staticrank = nmem_strdup(data1_nmem_get(dh), argv[1]); - } - } else { yaz_log(YLOG_WARN, "%s:%d: Unknown directive '%s'", file, @@ -1216,11 +1206,6 @@ static data1_absyn *data1_read_absyn(data1_handle dh, const char *file, return res; } -YAZ_EXPORT const char *data1_absyn_get_staticrank(data1_absyn *absyn) -{ - return absyn ? absyn->staticrank : 0; -} - /* * Local variables: * c-basic-offset: 4