Subject: | extract_file() drops volume part of extraction path |
extract_file() uses File::Spec->splitpath() to split the extraction
path into volume, directory and filename, but it ignores the volume
part when it determines that the path is an absolute local path.
This has no effect on Unix, which doesn't use volumes, but e.g. on
Windows this creates a bug whenever the extraction path is absolute,
but not on the current drive.
Here is a patch:
--- Archive/Tar.pm.~1~ Tue May 23 22:20:01 2006
+++ Archive/Tar.pm Tue May 23 22:20:01 2006
@@ -534,7 +534,7 @@
my $dir;
### is $name an absolute path? ###
if( File::Spec->file_name_is_absolute( $dirs ) ) {
- $dir = $dirs;
+ $dir = File::Spec->catpath( $vol, $dirs, "" );
### it's a relative path ###
} else {
End of Patch.