summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/perl/OpenSSL/fallback.pm19
1 files changed, 17 insertions, 2 deletions
diff --git a/util/perl/OpenSSL/fallback.pm b/util/perl/OpenSSL/fallback.pm
index 8f45971bd9..041fb30ba3 100644
--- a/util/perl/OpenSSL/fallback.pm
+++ b/util/perl/OpenSSL/fallback.pm
@@ -89,9 +89,24 @@ sub import {
while (my $l = <$fh>) {
$l =~ s|\R$||; # Better chomp
my $d = "$dir/$l";
+ my $checked = $d;
+
+ if ($^O eq 'VMS') {
+ # Some VMS unpackers replace periods with underscores
+ # We must be real careful not to convert the directories
+ # '.' and '..', though.
+ $checked =
+ join('/',
+ map { my $x = $_;
+ $x =~ s|\.|_|g
+ if ($x ne '..' && $x ne '.');
+ $x }
+ split(m|/|, $checked))
+ unless -e $checked && -d $checked;
+ }
croak "All lines in $path must be a directory, not a file: $l"
- unless -e $d && -d $d;
- push @INC, $d;
+ unless -e $checked && -d $checked;
+ push @INC, $checked;
}
} else { # It's a directory
push @INC, $path;