(dump_regular_file): Correctly pad archive members that shrunk during archiving. Repored by Frank Heckenbach.

This commit is contained in:
Sergey Poznyakoff
2005-05-12 15:39:21 +00:00
parent d78f85d61d
commit 29c902bc49

View File

@@ -886,9 +886,9 @@ dump_regular_file (int fd, struct tar_stat_info *st)
return dump_status_short;
}
size_left -= count;
set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
if (count)
set_next_block_after (blk + (bufsize - 1) / BLOCKSIZE);
if (count != bufsize)
{
char buf[UINTMAX_STRSIZE_BOUND];
@@ -901,7 +901,7 @@ dump_regular_file (int fd, struct tar_stat_info *st)
STRINGIFY_BIGINT (size_left, buf)));
if (! ignore_failed_read_option)
exit_status = TAREXIT_FAILURE;
pad_archive (size_left);
pad_archive (size_left - (bufsize-count));
return dump_status_short;
}
}