Add a directry spec for mcr if there is none
authorRichard Levitte <levitte@openssl.org>
Thu, 14 Jan 2016 00:46:23 +0000 (01:46 +0100)
committerRichard Levitte <levitte@openssl.org>
Thu, 14 Jan 2016 00:46:23 +0000 (01:46 +0100)
On VMS, the command MCR will assume SYS$SYSTEM: when the first
argument lacks a directory spec.  So for programs in the current
directory, we add [] to tell MCR it is in the current directory.
It's the same as having ./ at the start of a program on Unix so the
shell doesn't start looking along $PATH.

Reviewed-by: Rich Salz <rsalz@openssl.org>
test/testlib/OpenSSL/Test.pm

index 06accb5a527e01fa69e4546b56b0025f212e5be7..6af5e963fc296a7069b335798fdcb033fb30cfb3 100644 (file)
@@ -675,7 +675,7 @@ sub __fixup_cmd {
     if (defined($ENV{EXE_SHELL})) {
        $prefix = "$ENV{EXE_SHELL} ";
     } elsif ($^O eq "VMS" ) {  # VMS
-       $prefix = "mcr ";
+       $prefix = ($prog =~ /^[<\[]/ ? "mcr " : "mcr []");
        $ext = ".exe";
     } elsif ($^O eq "MSWin32") { # Windows
        $prefix = "";