X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=retrieval%2Fd1_map.c;h=e40b67825d48de7a0406a5b5dd154ea93f156186;hb=98f0cc2d7eeed27912edb88bf16512bb622b19ee;hp=c7faa42a1d9d7ef0cbee48fca7d379875b7466b9;hpb=18ed9f15a489511014d4384a53b27e35824dd831;p=yaz-moved-to-github.git diff --git a/retrieval/d1_map.c b/retrieval/d1_map.c index c7faa42..e40b678 100644 --- a/retrieval/d1_map.c +++ b/retrieval/d1_map.c @@ -1,10 +1,21 @@ /* - * Copyright (c) 1995-1999, Index Data. + * Copyright (c) 1995-2000, Index Data. * See the file LICENSE for details. * Sebastian Hammer, Adam Dickmeiss * * $Log: d1_map.c,v $ - * Revision 1.16 1999-10-21 12:06:29 adam + * Revision 1.19 2002-04-04 20:49:46 adam + * New functions yaz_is_abspath, yaz_path_fopen_base + * + * Revision 1.18 2000/11/29 14:22:47 adam + * Implemented XML/SGML attributes for data1 so that d1_read reads them + * and d1_write generates proper attributes for XML/SGML records. Added + * register locking for threaded version. + * + * Revision 1.17 1999/11/30 13:47:12 adam + * Improved installation. Moved header files to include/yaz. + * + * Revision 1.16 1999/10/21 12:06:29 adam * Retrieval module no longer uses ctype.h - functions. * * Revision 1.15 1999/08/27 09:40:32 adam @@ -67,13 +78,12 @@ #include #include -#include -#include -#include - -#include -#include -#include +#include +#include +#include +#include +#include +#include data1_maptab *data1_read_maptab (data1_handle dh, const char *file) { @@ -86,7 +96,7 @@ data1_maptab *data1_read_maptab (data1_handle dh, const char *file) data1_mapunit **mapp; int local_numeric = 0; - if (!(f = yaz_path_fopen(data1_get_tabpath(dh), file, "r"))) + if (!(f = data1_path_fopen(dh, file, "r"))) { yaz_log(LOG_WARN|LOG_ERRNO, "%s", file); return 0; @@ -301,11 +311,9 @@ static int map_children(data1_handle dh, data1_node *n, data1_maptab *map, { if (!cur || mt->new_field || !tagmatch(cur, mt)) { - cur = data1_mk_node (dh, mem); - cur->which = DATA1N_tag; - cur->u.tag.element = 0; + cur = data1_mk_node_type (dh, mem, DATA1N_tag); cur->u.tag.tag = mt->value.string; - cur->u.tag.node_selected = 0; + cur->parent = pn; cur->root = pn->root; if (!pn->child)