X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Flist.c;h=da717193d4830c6fb58825da3904d40630e70992;hb=572225dfdcc2f36c50128ae40f90f5efaf1b7a2c;hp=9f3b58748ac69e92d1eeff392e7a16d0c2713b01;hpb=05b3fdccc1eb702d330794faab0747c1e683afa8;p=chaz%2Ftar diff --git a/src/list.c b/src/list.c index 9f3b587..da71719 100644 --- a/src/list.c +++ b/src/list.c @@ -73,7 +73,7 @@ read_and (void (*do_something) (void)) name_gather (); open_archive (ACCESS_READ); - while (!all_names_found ()) + do { prev_status = status; status = read_header (false); @@ -113,7 +113,7 @@ read_and (void (*do_something) (void)) skip_member (); continue; } - } + } (*do_something) (); continue; @@ -168,6 +168,7 @@ read_and (void (*do_something) (void)) } break; } + while (!all_names_found (¤t_stat_info)); close_archive (); names_notfound (); /* print names not found */ @@ -501,6 +502,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);