]> Dogcows Code - chaz/tar/blobdiff - src/list.c
(set_stat): Rewrite to avoid bug in Forte
[chaz/tar] / src / list.c
index d8591634380ed81e62264a16ad07f7612c9ccf9a..667607d7a196a563426254d3afcbe4762a2b7eb1 100644 (file)
@@ -210,7 +210,7 @@ list_archive (void)
   decode_header (current_header, &current_stat_info, &current_format, 0);
   if (verbose_option)
     print_header (&current_stat_info, -1);
-
+  
   if (incremental_option && current_header->header.typeflag == GNUTYPE_DUMPDIR)
     {
       off_t size;
@@ -1009,6 +1009,27 @@ print_header (struct tar_stat_info *st, off_t block_ordinal)
   int pad;
   int sizelen;
 
+  if (test_label_option && current_header->header.typeflag != GNUTYPE_VOLHDR)
+    return;
+
+  if (show_stored_names_option)
+    {
+      switch (subcommand_option)
+       {
+       case CAT_SUBCOMMAND:
+       case UPDATE_SUBCOMMAND:
+       case APPEND_SUBCOMMAND:
+       case CREATE_SUBCOMMAND:
+         temp_name = st->file_name ? st->file_name : st->orig_file_name;
+         break;
+
+       default:
+         temp_name = st->orig_file_name ? st->orig_file_name : st->file_name;
+       }
+    }
+  else
+    temp_name = st->orig_file_name ? st->orig_file_name : st->file_name;
+  
   if (block_number_option)
     {
       char buf[UINTMAX_STRSIZE_BOUND];
This page took 0.025333 seconds and 4 git commands to generate.