Browse Source

Assign orig_file_name
to save_name uniformly over the program. This fixes matching
directory names at the start of an archive volume.

Sergey Poznyakoff 20 years ago
parent
commit
2d34da98d5
2 changed files with 4 additions and 4 deletions
  1. 1 1
      src/create.c
  2. 3 3
      src/list.c

+ 1 - 1
src/create.c

@@ -859,7 +859,7 @@ dump_regular_file (int fd, struct tar_stat_info *st)
 
       if (multi_volume_option)
 	{
-	  assign_string (&save_name, st->file_name);
+	  assign_string (&save_name, st->orig_file_name);
 	  save_sizeleft = size_left;
 	  save_totsize = st->stat.st_size;
 	}

+ 3 - 3
src/list.c

@@ -222,7 +222,7 @@ list_archive (void)
       set_next_block_after (current_header);
       if (multi_volume_option)
 	{
-	  assign_string (&save_name, current_stat_info.file_name);
+	  assign_string (&save_name, current_stat_info.orig_file_name);
 	  save_totsize = current_stat_info.stat.st_size;
 	}
       for (size = current_stat_info.stat.st_size; size > 0; size -= written)
@@ -258,7 +258,7 @@ list_archive (void)
     }
 
   if (multi_volume_option)
-    assign_string (&save_name, current_stat_info.file_name);
+    assign_string (&save_name, current_stat_info.orig_file_name);
 
   skip_member ();
 
@@ -1309,7 +1309,7 @@ skip_member (void)
   char save_typeflag = current_header->header.typeflag;
   set_next_block_after (current_header);
 
-  assign_string (&save_name, current_stat_info.file_name);
+  assign_string (&save_name, current_stat_info.orig_file_name);
 
   if (current_stat_info.is_sparse)
     sparse_skip_file (&current_stat_info);