(read_header): Minor change.

This commit is contained in:
Sergey Poznyakoff
2003-09-04 13:59:03 +00:00
parent 08780d289d
commit 7645d20465

View File

@@ -320,30 +320,26 @@ read_header (bool raw_extended_headers)
/* Good block. Decode file size and return. */
if (header->header.typeflag == XHDTYPE
|| header->header.typeflag == XGLTYPE)
{
xheader_read (header, OFF_FROM_HEADER (header->header.size));
continue;
}
if (header->header.typeflag == LNKTYPE)
current_stat_info.stat.st_size = 0; /* links 0 size on tape */
else
current_stat_info.stat.st_size = OFF_FROM_HEADER (header->header.size);
if (header->header.typeflag == GNUTYPE_LONGNAME
|| header->header.typeflag == GNUTYPE_LONGLINK)
|| header->header.typeflag == GNUTYPE_LONGLINK
|| header->header.typeflag == XHDTYPE
|| header->header.typeflag == XGLTYPE)
{
if (raw_extended_headers)
return HEADER_SUCCESS_EXTENDED;
else
else if (header->header.typeflag == GNUTYPE_LONGNAME
|| header->header.typeflag == GNUTYPE_LONGLINK)
{
size_t name_size = current_stat_info.stat.st_size;
size = name_size - name_size % BLOCKSIZE + 2 * BLOCKSIZE;
if (name_size != current_stat_info.stat.st_size || size < name_size)
if (name_size != current_stat_info.stat.st_size
|| size < name_size)
xalloc_die ();
}
header_copy = xmalloc (size + 1);
@@ -385,6 +381,10 @@ read_header (bool raw_extended_headers)
}
*bp = '\0';
}
else if (header->header.typeflag == XHDTYPE
|| header->header.typeflag == XGLTYPE)
xheader_read (header, OFF_FROM_HEADER (header->header.size));
/* Loop! */