From: Paul Eggert Date: Wed, 18 Aug 1999 07:52:26 +0000 (+0000) Subject: (write_eot): Write at least two zero blocks. X-Git-Url: https://git.brokenzipper.com/gitweb?a=commitdiff_plain;h=f5116dd1dbd4b1c510005934be3563102eb7b3be;p=chaz%2Ftar (write_eot): Write at least two zero blocks. --- diff --git a/src/create.c b/src/create.c index 81066b4..5bc51ae 100644 --- a/src/create.c +++ b/src/create.c @@ -298,7 +298,7 @@ clear_buffer (char *buffer) } /*-------------------------------------------------------------------------. -| Write the EOT block(s). We actually zero at least one block, through | +| Write the EOT block(s). We zero at least two blocks, through | | the end of the record. Old tar, as previous versions of GNU tar, writes | | garbage after two zeroed blocks. | `-------------------------------------------------------------------------*/ @@ -307,14 +307,11 @@ void write_eot (void) { union block *pointer = find_next_block (); - - if (pointer) - { - size_t space = available_space_after (pointer); - - memset (pointer->buffer, 0, space); - set_next_block_after (pointer); - } + memset (pointer->buffer, 0, BLOCKSIZE); + set_next_block_after (pointer); + pointer = find_next_block (); + memset (pointer->buffer, 0, available_space_after (pointer)); + set_next_block_after (pointer); } /*-----------------------------------------------------.