]> Dogcows Code - chaz/tar/blobdiff - src/compare.c
2011-09-27 Paul Eggert <eggert@cs.ucla.edu>
[chaz/tar] / src / compare.c
index f3112c6de8ff7b653b3212a7237bb2153b3cfffb..273269a140916af81a9e2c0515bace0658e254fb 100644 (file)
@@ -234,7 +234,8 @@ diff_file (void)
              else
                read_and_process (&current_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)
@@ -512,13 +513,22 @@ diff_archive (void)
 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 ();
This page took 0.023269 seconds and 4 git commands to generate.