VMS exit codes weren't handled well enough and were unclear
Making a specific variable $failure_code and a bit of commenting in the
VMS section should help clear things up.
Reviewed-by: Andy Polyakov <appro@openssl.org>
(cherry picked from commit e00ab250c8
)
This commit is contained in:
parent
bc1544d8c5
commit
1d5668c258
1 changed files with 11 additions and 3 deletions
|
@ -59,23 +59,31 @@ my $redir = " 2> cms.err > cms.out";
|
|||
if ( $^O eq "VMS" && -f "OSSLX:openssl.exe" ) {
|
||||
$ossl_path = "pipe mcr OSSLX:openssl";
|
||||
$null_path = "NL:";
|
||||
# On VMS, the lowest 3 bits of the exit code indicates severity
|
||||
# 1 is success (perl translates it to 0 for $?), 2 is error
|
||||
# (perl doesn't translate it)
|
||||
$failure_code = 512; # 2 << 8 = 512
|
||||
}
|
||||
# Make MSYS work
|
||||
elsif ( $^O eq "MSWin32" && -f "../apps/openssl.exe" ) {
|
||||
$ossl_path = "cmd /c ..\\apps\\openssl";
|
||||
$null_path = "/dev/null";
|
||||
$failure_code = 256;
|
||||
}
|
||||
elsif ( -f "../apps/openssl$ENV{EXE_EXT}" ) {
|
||||
$ossl_path = "../util/shlib_wrap.sh ../apps/openssl";
|
||||
$null_path = "/dev/null";
|
||||
$failure_code = 256;
|
||||
}
|
||||
elsif ( -f "..\\out32dll\\openssl.exe" ) {
|
||||
$ossl_path = "..\\out32dll\\openssl.exe";
|
||||
$null_path = "/dev/null";
|
||||
$failure_code = 256;
|
||||
}
|
||||
elsif ( -f "..\\out32\\openssl.exe" ) {
|
||||
$ossl_path = "..\\out32\\openssl.exe";
|
||||
$null_path = "/dev/null";
|
||||
$failure_code = 256;
|
||||
}
|
||||
else {
|
||||
die "Can't find OpenSSL executable";
|
||||
|
@ -97,7 +105,7 @@ if ($? == 0)
|
|||
{
|
||||
$no_ec = 1;
|
||||
}
|
||||
elsif ($^O eq "VMS" ? $? == 512 : $? == 256)
|
||||
elsif ($? == $failure_code)
|
||||
{
|
||||
$no_ec = 0;
|
||||
}
|
||||
|
@ -111,7 +119,7 @@ if ($? == 0)
|
|||
{
|
||||
$no_ec2m = 1;
|
||||
}
|
||||
elsif ($? == 256)
|
||||
elsif ($? == $failure_code)
|
||||
{
|
||||
$no_ec2m = 0;
|
||||
}
|
||||
|
@ -125,7 +133,7 @@ if ($? == 0)
|
|||
{
|
||||
$no_ecdh = 1;
|
||||
}
|
||||
elsif ($? == 256)
|
||||
elsif ($? == $failure_code)
|
||||
{
|
||||
$no_ecdh = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue