summaryrefslogtreecommitdiff
path: root/lib/File
diff options
context:
space:
mode:
authorCraig A. Berry <craigberry@mac.com>2012-08-20 19:15:23 -0500
committerCraig A. Berry <craigberry@mac.com>2012-08-20 21:17:10 -0500
commit2aa840f65c22a733416b964a64be4c3fec9595ca (patch)
treeb6bc8aa04a7f8f732d54dbcf085261c51c44901c /lib/File
parent9567c12e7c38dff57382a52e786cd75941c1ec06 (diff)
downloadperl-2aa840f65c22a733416b964a64be4c3fec9595ca.tar.gz
Consistent unixy path handling in File::Find::_find_opt.
Back in a1ccf0c4149b we converted the current working directory to Unix format on VMS, but neglected to change what later gets pasted onto it with a hard-coded slash delimiter. The resulting mongrel filespec was invalid and of course would not appear to exist even if the file did exist under a properly assembled name. So this commit makes the use of Unix-style paths on VMS within _find_opt consistent. The bug was tickled by a recent change to Module::Pluggable, whose tests and the tests of other modules that depend on it started failing en masse.
Diffstat (limited to 'lib/File')
-rw-r--r--lib/File/Find.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/File/Find.pm b/lib/File/Find.pm
index ba71ab4136..1ebc98f56a 100644
--- a/lib/File/Find.pm
+++ b/lib/File/Find.pm
@@ -3,7 +3,7 @@ use 5.006;
use strict;
use warnings;
use warnings::register;
-our $VERSION = '1.21';
+our $VERSION = '1.22';
require Exporter;
require Cwd;
@@ -523,6 +523,7 @@ sub _find_opt {
Proc_Top_Item:
foreach my $TOP (@_) {
my $top_item = $TOP;
+ $top_item = VMS::Filespec::unixify($top_item) if $Is_VMS;
($topdev,$topino,$topmode,$topnlink) = $follow ? stat $top_item : lstat $top_item;