فهرست منبع

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 سال پیش
والد
کامیت
2d34da98d5
2فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  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);