|
@@ -73,7 +73,6 @@ static bool hit_eof;
|
|
static int checkpoint;
|
|
static int checkpoint;
|
|
|
|
|
|
static bool read_full_records = false;
|
|
static bool read_full_records = false;
|
|
-static bool reading_from_pipe = false;
|
|
|
|
|
|
|
|
/* We're reading, but we just read the last block and it's time to update.
|
|
/* We're reading, but we just read the last block and it's time to update.
|
|
Declared in update.c
|
|
Declared in update.c
|
|
@@ -182,21 +181,17 @@ enum compress_type
|
|
check_compressed_archive ()
|
|
check_compressed_archive ()
|
|
{
|
|
{
|
|
struct zip_magic const *p;
|
|
struct zip_magic const *p;
|
|
- bool sfr, srp;
|
|
|
|
|
|
+ bool sfr;
|
|
|
|
|
|
/* Prepare global data needed for find_next_block: */
|
|
/* Prepare global data needed for find_next_block: */
|
|
record_end = record_start; /* set up for 1st record = # 0 */
|
|
record_end = record_start; /* set up for 1st record = # 0 */
|
|
sfr = read_full_records;
|
|
sfr = read_full_records;
|
|
read_full_records = true; /* Suppress fatal error on reading a partial
|
|
read_full_records = true; /* Suppress fatal error on reading a partial
|
|
record */
|
|
record */
|
|
- srp = reading_from_pipe;
|
|
|
|
- reading_from_pipe = true; /* Suppress warning message on reading a partial
|
|
|
|
- record */
|
|
|
|
find_next_block ();
|
|
find_next_block ();
|
|
|
|
|
|
/* Restore global values */
|
|
/* Restore global values */
|
|
read_full_records = sfr;
|
|
read_full_records = sfr;
|
|
- reading_from_pipe = srp;
|
|
|
|
|
|
|
|
if (tar_checksum (record_start, true) == HEADER_SUCCESS)
|
|
if (tar_checksum (record_start, true) == HEADER_SUCCESS)
|
|
/* Probably a valid header */
|
|
/* Probably a valid header */
|
|
@@ -236,7 +231,7 @@ open_compressed_archive ()
|
|
/* Open compressed archive */
|
|
/* Open compressed archive */
|
|
use_compress_program_option = compress_program (type);
|
|
use_compress_program_option = compress_program (type);
|
|
child_pid = sys_child_open_for_uncompress ();
|
|
child_pid = sys_child_open_for_uncompress ();
|
|
- read_full_records = reading_from_pipe = true;
|
|
|
|
|
|
+ read_full_records = true;
|
|
}
|
|
}
|
|
|
|
|
|
records_read = 0;
|
|
records_read = 0;
|
|
@@ -406,7 +401,6 @@ open_archive (enum access_mode wanted_access)
|
|
access_mode = wanted_access == ACCESS_UPDATE ? ACCESS_READ : wanted_access;
|
|
access_mode = wanted_access == ACCESS_UPDATE ? ACCESS_READ : wanted_access;
|
|
|
|
|
|
read_full_records = read_full_records_option;
|
|
read_full_records = read_full_records_option;
|
|
- reading_from_pipe = false;
|
|
|
|
|
|
|
|
records_read = 0;
|
|
records_read = 0;
|
|
|
|
|
|
@@ -416,7 +410,7 @@ open_archive (enum access_mode wanted_access)
|
|
{
|
|
{
|
|
case ACCESS_READ:
|
|
case ACCESS_READ:
|
|
child_pid = sys_child_open_for_uncompress ();
|
|
child_pid = sys_child_open_for_uncompress ();
|
|
- read_full_records = reading_from_pipe = true;
|
|
|
|
|
|
+ read_full_records = true;
|
|
record_end = record_start; /* set up for 1st record = # 0 */
|
|
record_end = record_start; /* set up for 1st record = # 0 */
|
|
break;
|
|
break;
|
|
|
|
|
|
@@ -760,20 +754,7 @@ short_read (size_t status)
|
|
archive_read_error ();
|
|
archive_read_error ();
|
|
|
|
|
|
if (status == 0)
|
|
if (status == 0)
|
|
- {
|
|
|
|
- if (!reading_from_pipe)
|
|
|
|
- {
|
|
|
|
- char buf[UINTMAX_STRSIZE_BOUND];
|
|
|
|
-
|
|
|
|
- WARN((0, 0,
|
|
|
|
- ngettext ("Read %s byte from %s",
|
|
|
|
- "Read %s bytes from %s",
|
|
|
|
- record_size - left),
|
|
|
|
- STRINGIFY_BIGINT (record_size - left, buf),
|
|
|
|
- *archive_name_cursor));
|
|
|
|
- }
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
|
|
+ break;
|
|
|
|
|
|
if (! read_full_records)
|
|
if (! read_full_records)
|
|
{
|
|
{
|