X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Flist.c;h=da717193d4830c6fb58825da3904d40630e70992;hb=572225dfdcc2f36c50128ae40f90f5efaf1b7a2c;hp=5b06e80ecb9b7a27115fb5e5154934d25170918c;hpb=7645d20465e8c37f8f246b7490cbffbb0107045d;p=chaz%2Ftar diff --git a/src/list.c b/src/list.c index 5b06e80..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 (1) + 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);