From: Sergey Poznyakoff Date: Thu, 10 Nov 2005 12:58:43 +0000 (+0000) Subject: (try_new_volume): Bugfix. Always check X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=b9b37ee19119e94d67c5966eaf45fa000b377eaf;p=chaz%2Ftar (try_new_volume): Bugfix. Always check continued_file_name. If it is absent, the volume is out of sync. (add_multi_volume_header): Create GNU.volume.filename keyword in the extended header. --- diff --git a/src/buffer.c b/src/buffer.c index 367a93a..f5ebfb7 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1028,7 +1028,7 @@ try_new_volume () size_t status; enum read_header rc; union block *block; - + switch (subcommand_option) { case APPEND_SUBCOMMAND: @@ -1099,8 +1099,8 @@ try_new_volume () if (real_s_name) { uintmax_t s; - if (continued_file_name - && strcmp (continued_file_name, real_s_name)) + if (!continued_file_name + || strcmp (continued_file_name, real_s_name)) { WARN ((0, 0, _("%s is not continued on this volume"), quote (real_s_name))); @@ -1269,6 +1269,7 @@ add_multi_volume_header (void) if (archive_format == POSIX_FORMAT) { off_t d = real_s_totsize - real_s_sizeleft; + xheader_store ("GNU.volume.filename", NULL, real_s_name); xheader_store ("GNU.volume.size", NULL, &real_s_sizeleft); xheader_store ("GNU.volume.offset", NULL, &d); }