At 3:30 PM -0500 9/3/07, John E. Malmberg wrote: >Craig A. Berry wrote: >> Either way, it definitely needed to be a file, not a directory, so >>I've left it as catfile and fixed the underlying problem instead. > >No, it is intended to be a directory with the name indicated by "$$" The test >will not pass with catfile(). > >catpath() requires a volume component, and catdir does not, so in this case >catdir() appears to be the right choice. > >The variable name is $outfile, but it really is expected to contain only a >path, or the call to $tar->extract_file that follows it will fail on VMS >because it it needs a directory.
The test passes without any changes to the test itself after my patch to Archive::Tar::_extract_file. As far as I can see, the test is not testing that you can extract to a non-default directory, but is rather testing that you can completely override the default file spec to which the file contents will be extracted. The pod to extract_file says: "Optionally takes a second parameter, which is the full native path (including filename) the entry will be written to." The only part of the pod I changed was to replace "(unix)" with "native" to make it reflect what the code was actually doing. > >-John > > >--- /rsync_root/perl/lib/Archive/Tar/t/02_methods.t Sun May 20 07:56:42 2007 >+++ lib/Archive/Tar/t/02_methods.t Thu Aug 30 22:27:44 2007 >@@ -732,7 +732,7 @@ > ) > ) { > >- my $outfile = File::Spec->catfile( $outpath, $$ ); >+ my $outfile = File::Spec->catdir( $outpath, $$ ); > > ok( $tar->extract_file( $file->full_path, $outfile ), > " Extracted file '$path' to $outfile" ); -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser