summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-07 22:52:33 +0000
committerKarl Berry <karl@freefriends.org>2020-03-07 22:52:33 +0000
commit11c6e5fc65f26ba5219997d19707b998a9abf26d (patch)
treea1dc8073a679611d3f09c01eda006cc3f6f846b1 /Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
parenta6593bd4f2eb12ae25540de026f7f9ebcf230a2f (diff)
tl20 perl 5.30.1 for Windows, from Siep
git-svn-id: svn://tug.org/texlive/trunk@54166 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Archive/Tar/File.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/Archive/Tar/File.pm12
1 files changed, 10 insertions, 2 deletions
diff --git a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
index b6fbecf6c9a..3efa3159d94 100644
--- a/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
+++ b/Master/tlpkg/tlperl/lib/Archive/Tar/File.pm
@@ -13,7 +13,7 @@ use Archive::Tar::Constant;
use vars qw[@ISA $VERSION];
#@ISA = qw[Archive::Tar];
-$VERSION = '2.30';
+$VERSION = '2.32';
### set value to 1 to oct() it during the unpack ###
@@ -402,7 +402,15 @@ sub _prefix_and_file {
$file = pop @dirs if $self->is_dir and not length $file;
### splitting ../ gives you the relative path in native syntax
- map { $_ = '..' if $_ eq '-' } @dirs if ON_VMS;
+ ### Remove the root (000000) directory
+ ### The volume from splitpath will also be in native syntax
+ if (ON_VMS) {
+ map { $_ = '..' if $_ eq '-'; $_ = '' if $_ eq '000000' } @dirs;
+ if (length($vol)) {
+ $vol = VMS::Filespec::unixify($vol);
+ unshift @dirs, $vol;
+ }
+ }
my $prefix = File::Spec::Unix->catdir(@dirs);
return( $prefix, $file );