diff options
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Archive/Tar/File.pm')
-rw-r--r-- | Master/tlpkg/tlperl/lib/Archive/Tar/File.pm | 12 |
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 ); |