4
0
Эх сурвалжийг харах

(decode_header): Discern between pax and ustar formats

uid65697 21 жил өмнө
parent
commit
defde32533
1 өөрчлөгдсөн 4 нэмэгдсэн , 1 устгасан
  1. 4 1
      src/list.c

+ 4 - 1
src/list.c

@@ -489,8 +489,10 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
 	  && ISOCTAL (header->star_header.ctime[0])
 	  && header->star_header.ctime[11] == ' ')
 	format = STAR_FORMAT;
-      else
+      else if (extended_header.size)
 	format = POSIX_FORMAT;
+      else
+	format = USTAR_FORMAT;
     }
   else if (strcmp (header->header.magic, OLDGNU_MAGIC) == 0)
     format = OLDGNU_FORMAT;
@@ -556,6 +558,7 @@ decode_header (union block *header, struct tar_stat_info *stat_info,
 	}
     }
 
+  current_stat_info.archive_file_size = current_stat_info.stat.st_size;
   if (extended_header.size)
     xheader_decode (stat_info);
 }