From f5116dd1dbd4b1c510005934be3563102eb7b3be Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 18 Aug 1999 07:52:26 +0000 Subject: [PATCH] (write_eot): Write at least two zero blocks. --- src/create.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) 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); } /*-----------------------------------------------------. -- 2.44.0