- int nor = 0;
- char field[40];
- char *cp;
-#if 0
- yaz_log(YLOG_LOG, "safari line: %s", line);
-#endif
- if (sscanf(line, ZINT_FORMAT " " ZINT_FORMAT " " ZINT_FORMAT " %39s %n",
- &recWord.record_id, &recWord.section_id, &recWord.seqno,
- field, &nor) < 4)
- {
- yaz_log(YLOG_WARN, "Bad safari record line: %s", line);
- return RECCTRL_EXTRACT_ERROR_GENERIC;
+ int i = 0;
+
+ r = buf_read (tinfo, fi, w);
+ while (r > 0 && i < 511 && w[i] != '\n' && w[i] != '\r')
+ {
+ i++;
+ r = buf_read (tinfo, fi, w + i);