else
read_and_process (¤t_stat_info, process_rawdata);
- if (atime_preserve_option == replace_atime_preserve)
+ if (atime_preserve_option == replace_atime_preserve
+ && stat_data.st_size != 0)
{
struct timespec atime = get_stat_atime (&stat_data);
if (set_file_atime (diff_handle, chdir_fd, file_name, atime)
void
verify_volume (void)
{
+ int may_fail = 0;
if (removed_prefixes_p ())
{
WARN((0, 0,
_("Archive contains file names with leading prefixes removed.")));
+ may_fail = 1;
+ }
+ if (transform_program_p ())
+ {
WARN((0, 0,
- _("Verification may fail to locate original files.")));
+ _("Archive contains transformed file names.")));
+ may_fail = 1;
}
+ if (may_fail)
+ WARN((0, 0,
+ _("Verification may fail to locate original files.")));
if (!diff_buffer)
diff_init ();
(0, 0, _("A lone zero block at %s"),
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
}
+ continue;
}
+ decode_header (current_header, ¤t_stat_info, ¤t_format, 1);
diff_archive ();
tar_stat_destroy (¤t_stat_info);
}