|
|
|
@ -52,6 +52,25 @@ foreach my $tar_file (@ARGV)
@@ -52,6 +52,25 @@ foreach my $tar_file (@ARGV)
|
|
|
|
|
Z8 Z1 Z100 Z6 |
|
|
|
|
Z2 Z32 Z32 Z8 Z8 Z*', $_; |
|
|
|
|
last unless $name; |
|
|
|
|
if ($name eq '././@LongLink') { |
|
|
|
|
# GNU tar extension |
|
|
|
|
if (read(I, $_, 512) != 512) { |
|
|
|
|
die ('Short archive'); |
|
|
|
|
} |
|
|
|
|
$name = unpack 'Z257', $_; |
|
|
|
|
next unless $name; |
|
|
|
|
|
|
|
|
|
my $dummy; |
|
|
|
|
if (read(I, $_, 512) != 512) { |
|
|
|
|
die ('Short archive'); |
|
|
|
|
} |
|
|
|
|
($dummy, $mode, $uid, $gid, $size, $mtime, |
|
|
|
|
$chksum, $typeflag, $linkname, $magic, |
|
|
|
|
$version, $uname, $gname, $devmajor, $devminor, |
|
|
|
|
$prefix) = unpack 'Z100 Z8 Z8 Z8 Z12 Z12 |
|
|
|
|
Z8 Z1 Z100 Z6 |
|
|
|
|
Z2 Z32 Z32 Z8 Z8 Z*', $_; |
|
|
|
|
} |
|
|
|
|
next if $name =~ m{/\z}; |
|
|
|
|
$mode = oct $mode; |
|
|
|
|
$size = oct $size; |
|
|
|
|