(read_header): Minor change.
This commit is contained in:
22
src/list.c
22
src/list.c
@@ -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! */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user