X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fdelete.c;h=a67993cb9be91e92b2d5677622ddde372099cf41;hb=4dfcd6c054a5e9e1a371c822a3be90564dd9b690;hp=3e6adddbf245e68b68ef1787bcb64549e4af3791;hpb=f2bf9f2ffa06c0a89a799e64672f58a8e7d0efc7;p=chaz%2Ftar diff --git a/src/delete.c b/src/delete.c index 3e6addd..a67993c 100644 --- a/src/delete.c +++ b/src/delete.c @@ -5,7 +5,7 @@ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any later + Free Software Foundation; either version 3, or (at your option) any later version. This program is distributed in the hope that it will be useful, but @@ -35,11 +35,10 @@ extern union block *current_block; extern union block *recent_long_name; extern union block *recent_long_link; extern off_t records_read; -extern off_t records_written; /* The number of records skipped at the start of the archive, when passing over members that are not deleted. */ -static off_t records_skipped; +off_t records_skipped; /* Move archive descriptor by COUNT records worth. If COUNT is positive we move forward, else we move negative. If it's a tape, @@ -174,7 +173,7 @@ delete_archive_members (void) abort (); case HEADER_SUCCESS: - if ((name = name_scan (current_stat_info.file_name, false)) == NULL) + if ((name = name_scan (current_stat_info.file_name)) == NULL) { skip_member (); break; @@ -285,7 +284,7 @@ delete_archive_members (void) /* Found another header. */ - if ((name = name_scan (current_stat_info.file_name, false)) != NULL) + if ((name = name_scan (current_stat_info.file_name)) != NULL) { name->found_count++; if (ISFOUND(name)) @@ -294,7 +293,7 @@ delete_archive_members (void) set_next_block_after (current_header); blocks_to_skip = (current_stat_info.stat.st_size + BLOCKSIZE - 1) / BLOCKSIZE; - + while (record_end - current_block <= blocks_to_skip) { blocks_to_skip -= (record_end - current_block); @@ -307,10 +306,10 @@ delete_archive_members (void) } /* Copy header. */ - if (extended_header.size) + if (current_stat_info.xhdr.size) { - write_recent_bytes (extended_header.buffer, - extended_header.size); + write_recent_bytes (current_stat_info.xhdr.buffer, + current_stat_info.xhdr.size); } else {