-
- if (!memcmp(tag, "4", 1) && (!yaz_matchstr(absynName, "UNIMARC")||
- !yaz_matchstr(absynName, "RUSMARC")))
- {
- int go = 1;
- data1_node *res =
- data1_mk_tag_n (p->dh, p->mem,
- buf+i+1, identifier_length-1,
- 0 /* attr */, parent);
- i += identifier_length;
- i0 = i;
- do {
- while (buf[i] != ISO2709_RS && buf[i] != ISO2709_IDFS &&
- buf[i] != ISO2709_FS && i < end_offset)
- {
- i++;
- }
- if (!memcmp(buf+i+1, "1", 1) && i<end_offset)
- {
- go = 0;
- }
- else
- {
- buf[i] = '$';
- }
- } while (go && i < end_offset);
-
- data1_mk_text_n (p->dh, p->mem, buf + i0, i - i0, res);
- i0 = i;
- }
- else if (memcmp (tag, "00", 2) && identifier_length)