X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fmarcread.c;h=b3f5190b1388f47d7164b458b6dcec3edfe76144;hb=dbf7ead21f60be189f0d532175c92924a8eb73fd;hp=4afdd7a81964ebc527fba9e50b52b0d3d58c6bce;hpb=3ecabdd7340cf895d4d446a217b8b69c17a2d781;p=idzebra-moved-to-github.git diff --git a/recctrl/marcread.c b/recctrl/marcread.c index 4afdd7a..b3f5190 100644 --- a/recctrl/marcread.c +++ b/recctrl/marcread.c @@ -3,7 +3,7 @@ * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * - * $Id: marcread.c,v 1.13 2002-05-03 13:50:25 adam Exp $ + * $Id: marcread.c,v 1.16 2002-07-05 12:43:30 adam Exp $ */ #include #include @@ -31,8 +31,7 @@ data1_node *grs_read_marc (struct grs_read_info *p) #if MARC_DEBUG FILE *outf = stdout; #endif - - data1_node *res_root; + data1_node *res_root, *res_top; char *absynName; data1_marctab *marctab; @@ -66,6 +65,7 @@ data1_node *grs_read_marc (struct grs_read_info *p) yaz_log (LOG_WARN, "cannot read MARC without an abstract syntax"); return 0; } + res_top = data1_mk_tag (p->dh, p->mem, absynName, 0, res_root); marctab = res_root->u.root.absyn->marc; @@ -94,7 +94,7 @@ data1_node *grs_read_marc (struct grs_read_info *p) int i, i0; char tag[4]; data1_node *res; - data1_node *parent = res_root; + data1_node *parent = res_top; memcpy (tag, buf+entry_p, 3); entry_p += 3; @@ -102,7 +102,7 @@ data1_node *grs_read_marc (struct grs_read_info *p) /* generate field node */ - res = data1_mk_tag_n (p->dh, p->mem, tag, 3, res_root); + res = data1_mk_tag_n (p->dh, p->mem, tag, 3, 0 /* attr */, parent); #if MARC_DEBUG fprintf (outf, "%s ", tag); @@ -121,7 +121,7 @@ data1_node *grs_read_marc (struct grs_read_info *p) int j; #endif res = data1_mk_tag_n (p->dh, p->mem, - buf+i, indicator_length, res); + buf+i, indicator_length, 0 /* attr */, res); #if MARC_DEBUG for (j = 0; jdh, p->mem, - buf+i+1, identifier_length-1, parent); + buf+i+1, identifier_length-1, + 0 /* attr */, parent); #if MARC_DEBUG fprintf (outf, " $"); for (j = 1; j i0) { - data1_node *res = data1_mk_tag_n (p->dh, p->mem, - "@", 1, parent); - data1_mk_text_n (p->dh, p->mem, buf + i0, i - i0, res); + data1_mk_text_n (p->dh, p->mem, buf + i0, i - i0, parent); } #if MARC_DEBUG fprintf (outf, "\n");