]> Dogcows Code - chaz/tar/blobdiff - src/list.c
Added POSIX.1-1988 support.
[chaz/tar] / src / list.c
index 9f3b58748ac69e92d1eeff392e7a16d0c2713b01..d23002beaa64cf6c49badb1bd87c9ba389980b93 100644 (file)
@@ -73,9 +73,12 @@ read_and (void (*do_something) (void))
   name_gather ();
   open_archive (ACCESS_READ);
 
-  while (!all_names_found ())
+  do
     {
       prev_status = status;
+      destroy_stat (&current_stat_info);
+      xheader_destroy (&extended_header);
+      
       status = read_header (false);
       switch (status)
        {
@@ -113,7 +116,7 @@ read_and (void (*do_something) (void))
                  skip_member ();
                  continue;
                }
-             }
+           }
 
          (*do_something) ();
          continue;
@@ -168,6 +171,7 @@ read_and (void (*do_something) (void))
        }
       break;
     }
+  while (!all_names_found (&current_stat_info));
 
   close_archive ();
   names_notfound ();           /* print names not found */
@@ -501,6 +505,9 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
   stat_info->devmajor = MAJOR_FROM_HEADER (header->header.devmajor);
   stat_info->devminor = MINOR_FROM_HEADER (header->header.devminor);
   
+  stat_info->stat.st_atime = start_time;
+  stat_info->stat.st_ctime = start_time;
+
   if (format == OLDGNU_FORMAT && incremental_option)
     {
       stat_info->stat.st_atime = TIME_FROM_HEADER (header->oldgnu_header.atime);
This page took 0.025784 seconds and 4 git commands to generate.