- if (header->header.typeflag == GNUTYPE_LONGNAME)
- {
- longp = &next_long_name;
- next_long_name_blocks = size / BLOCKSIZE;
- }
- else
- {
- longp = &next_long_link;
- next_long_link_blocks = size / BLOCKSIZE;
- }
-
- set_next_block_after (header);
- if (*longp)
- free (*longp);
- *longp = xmalloc (size + 1);
- **longp = *header;
- bp = (*longp)->buffer + BLOCKSIZE;
-
- for (size -= BLOCKSIZE; size > 0; size -= written)
- {
- data_block = find_next_block ();
- if (! data_block)