Lines Matching refs:record

127 				error(2, "%s: %-*.*s: variable length label record too short", f->name, c, c, slt->buf);
165 sfsprintf(slt->buf, sizeof(slt->buf), "%s1%-17.17s000001%04d%04d000100 %02d%03d 00000 %06d%-6.6sD%-7.7s ", type, f->id, slt->section, slt->sequence, tm->tm_year, tm->tm_yday, f->record.blocks, slt->format, slt->implementation);
167 sfsprintf(slt->buf, sizeof(slt->buf), "%s2%c%05d%05d%010d%s%c 00 ", type, state.record.format, state.blocksize, state.record.size, f->st->st_size, type, '2');
309 f->record.section = getlabnum(slt->buf, 28, 4, 10);
334 switch (f->record.format = slt->buf[4])
343 error(2, "%s record format %c not supported", ap->format->name, f->record.format);
347 state.record.size = getlabnum(slt->buf, 11, 5, 10);
349 state.record.offset = getlabnum(slt->buf, 51, 2, 10);
385 nl = state.record.line;
421 f->record.section++;
435 if (streq(f->id, v.id) && streq(f->name, v.name) && f->record.section == v.record.section)
441 error(1, "volume containing %s id %s section %d required", f->name, f->id, f->record.section);
450 if (f->record.format == 'V')
460 i += state.record.offset;
462 switch (f->record.format)
478 * get record size
481 switch (f->record.format)
489 if (i + state.record.size > n)
491 else if (state.record.line || state.record.offset)
492 k = state.record.size;
524 error(2, "invalid %s %c record size", ap->format->name, f->record.format);
530 if (state.record.line)
531 switch (f->record.format)
609 putlabels(pax, ap, state.record.file, "HDR");
682 error(3, "record output from buffer not supported");
683 ap->record = f;
684 f->record.blocks = 0;
695 switch (state.record.format)
710 switch (state.record.format)
723 * check for partial record from previous block
728 memcpy(recdat, f->record.partial, partial);
734 * record loop
741 if (p >= &rec[state.record.size] && state.record.size)
743 if (state.record.line)
752 if (state.record.format == 'S' || state.record.format == 'V')
763 * save partial record for next block
766 if (!f->record.partial && !(f->record.partial = newof(0, char, state.blocksize, 0)))
768 memcpy(f->record.partial, recdat, partial);
783 else if (c == '\n' && state.record.line)
788 switch (state.record.format)
796 if (c != EOF || state.record.pad)
798 memset(p, ' ', state.record.size - (p - rec));
799 p = rec + state.record.size;
820 if (p >= &blk[state.blocksize] || state.record.format == 'U')
824 switch (state.record.format)
828 if (state.record.pad)
842 f->record.blocks++;
845 ap->record = 0;
847 error(1, "%s: %d out of %d record%s truncated", f->name, truncated, count, count == 1 ? "" : "s");
866 if (state.record.format == 'F' && !state.record.line)
872 ap->record = f;
876 n = m = c > state.record.size ? state.record.size : c;
880 * read returns state.record.size
903 memzero(state.tmp.buffer, state.record.size);
909 if (n < state.record.size && (c > 0 || state.record.pad))
911 memzero(state.tmp.buffer + n, state.record.size - n);
912 n = state.record.size;
917 ap->record = 0;
952 putlabels(pax, ap, state.record.file, "EOV");
1023 if ((n = slt_getprologue(pax, fp, ap, f, buf, size)) > 0 && state.record.charset)