summaryrefslogtreecommitdiff
path: root/lib/File/Path.pm
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-10-25 21:27:08 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-10-25 21:27:08 +0000
commit41819ebfef1c41aa7f631e5a0ba2226f47987a77 (patch)
tree8779688219e986258378806ada1cd97ffcb8634e /lib/File/Path.pm
parent784707d55e15908335a8276d5ed4548baa321d1f (diff)
parente3830a4ec012ee625f1b3bc63b5b18c656f377da (diff)
downloadperl-41819ebfef1c41aa7f631e5a0ba2226f47987a77.tar.gz
Integrate with vmsperl #7430 by Charles Bailey:
Cleanup from prior patch (Charles Lane?): - improve handling of MFDs in Basename and Path - default to no xsubpp line # munging when building debug images p4raw-id: //depot/perl@7445
Diffstat (limited to 'lib/File/Path.pm')
-rw-r--r--lib/File/Path.pm17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/File/Path.pm b/lib/File/Path.pm
index daa2eae0fb..8b0772d0e1 100644
--- a/lib/File/Path.pm
+++ b/lib/File/Path.pm
@@ -119,16 +119,19 @@ sub mkpath {
my(@created,$path);
foreach $path (@$paths) {
$path .= '/' if $^O eq 'os2' and $path =~ /^\w:\z/s; # feature of CRT
- next if -d $path;
# Logic wants Unix paths, so go with the flow.
- $path = VMS::Filespec::unixify($path) if $Is_VMS;
- my $parent = File::Basename::dirname($path);
- # Allow for creation of new logical filesystems under VMS
- if (not $Is_VMS or $parent !~ m:/[^/]+/000000/?:) {
- unless (-d $parent or $path eq $parent) {
- push(@created,mkpath($parent, $verbose, $mode));
+ if ($Is_VMS) {
+ next if $path eq '/';
+ $path = VMS::Filespec::unixify($path);
+ if ($path =~ m:^(/[^/]+)/?\z:) {
+ $path = $1.'/000000';
}
}
+ next if -d $path;
+ my $parent = File::Basename::dirname($path);
+ unless (-d $parent or $path eq $parent) {
+ push(@created,mkpath($parent, $verbose, $mode));
+ }
print "mkdir $path\n" if $verbose;
unless (mkdir($path,$mode)) {
my $e = $!;