X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fdanbibr.c;h=6459d988604b6704d5fc858d0f915ce64fac5c93;hb=2e4e9c6def27f1e1463dcb6f205fab6a98054f38;hp=ab0df34b8319b2ca59561ec5471f8e820ab3e1ca;hpb=10f3a00d861cfb57a65a3ac5333f33534d1f332e;p=idzebra-moved-to-github.git diff --git a/recctrl/danbibr.c b/recctrl/danbibr.c index ab0df34..6459d98 100644 --- a/recctrl/danbibr.c +++ b/recctrl/danbibr.c @@ -1,4 +1,4 @@ -/* $Id: danbibr.c,v 1.2 2004-05-21 13:25:07 adam Exp $ +/* $Id: danbibr.c,v 1.4 2004-05-26 13:47:08 adam Exp $ Copyright (C) 2004 Index Data Aps @@ -84,13 +84,12 @@ static int read_rec(struct grs_read_info *p) static data1_node *mk_tree(struct grs_read_info *p, const char *rec_buf) { data1_node *root = data1_mk_root(p->dh, p->mem, "danbib"); + data1_node *root_tag = data1_mk_tag(p->dh, p->mem, "danbib", 0, root); const char *cp = rec_buf; - root = data1_mk_tag(p->dh, p->mem, "danbib", 0, root); - if (1) /* all */ { - data1_node *text_node = data1_mk_tag(p->dh, p->mem, "text", 0, root); + data1_node *text_node = data1_mk_tag(p->dh, p->mem, "text", 0, root_tag); data1_mk_text_n(p->dh, p->mem, rec_buf, strlen(rec_buf), text_node); } while (*cp) @@ -121,7 +120,7 @@ static data1_node *mk_tree(struct grs_read_info *p, const char *rec_buf) data1_node *hnode; sprintf(elemstr, "head%d", no); - hnode = data1_mk_tag(p->dh, p->mem, elemstr, 0, root); + hnode = data1_mk_tag(p->dh, p->mem, elemstr, 0, root_tag); data1_mk_text_n(p->dh, p->mem, start_text, cp - start_text, hnode); start_text = cp+1; @@ -137,7 +136,7 @@ static data1_node *mk_tree(struct grs_read_info *p, const char *rec_buf) { data1_node *tag_node = data1_mk_tag_n(p->dh, p->mem, - start_tag, cp - start_tag, 0, root); + start_tag, cp - start_tag, 0, root_tag); cp++; start_text = cp; while (*cp != '\n' && *cp) @@ -167,6 +166,8 @@ static data1_node *mk_tree(struct grs_read_info *p, const char *rec_buf) } else if (*cp == '\n') break; + else if (*cp == '*') + break; else cp++; }