X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=util%2Fiso2709.c;h=1bd46e3cae5d16bacdea92daecb22bc1a7e4eb88;hb=354551f6bf617eb9c44c341574c60e0ff5b4fd3b;hp=bfb691f17dc2c4a1df0b8b183737a0bc1a38385c;hpb=c225f9c0b0d280dedb06939fb68a1cb06c74a3c0;p=egate.git diff --git a/util/iso2709.c b/util/iso2709.c index bfb691f..1bd46e3 100644 --- a/util/iso2709.c +++ b/util/iso2709.c @@ -4,11 +4,14 @@ Europagate, 1994-1995. $Log: iso2709.c,v $ - Revision 1.3 1995/02/10 17:05:18 adam - New function iso2709_display to display MARC records in a - line-by-line format. The iso2709_cvt function no longer - prints the record to stderr. + Revision 1.4 1995/02/15 17:45:44 adam + Bug fix in iso2709 module. + * Revision 1.3 1995/02/10 17:05:18 adam + * New function iso2709_display to display MARC records in a + * line-by-line format. The iso2709_cvt function no longer + * prints the record to stderr. + * * Revision 1.2 1995/02/10 16:50:32 adam * Indicator field moved to 'struct iso2709_dir' from 'struct * iso2709_field'. @@ -157,14 +160,15 @@ Iso2709Rec iso2709_cvt (const char *buf) (*fpp)->identifier = NULL; dpos_n = dpos; - while (buf[dpos_n] != ISO2709_FS && buf[dpos_n] != ISO2709_IDFS) + while (buf[dpos_n] != ISO2709_FS && buf[dpos_n] != ISO2709_IDFS && + buf[dpos_n] != ISO2709_RS) dpos_n++; (*fpp)->data = malloc (dpos_n - dpos + 1); strncpyx ((*fpp)->data, buf+dpos, dpos_n - dpos); dpos = dpos_n; - if (buf[dpos] == ISO2709_FS) + if (buf[dpos] == ISO2709_FS || buf[dpos] == ISO2709_RS) break; fpp = &(*fpp)->next;