aboutsummaryrefslogtreecommitdiff
path: root/openssl/util/ck_errf.pl
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/util/ck_errf.pl')
-rw-r--r--openssl/util/ck_errf.pl22
1 files changed, 18 insertions, 4 deletions
diff --git a/openssl/util/ck_errf.pl b/openssl/util/ck_errf.pl
index 344b422c3..f13af5c50 100644
--- a/openssl/util/ck_errf.pl
+++ b/openssl/util/ck_errf.pl
@@ -7,8 +7,16 @@
# perl util/ck_errf.pl */*.c */*/*.c
#
+my $err_strict = 0;
+my $bad = 0;
+
foreach $file (@ARGV)
{
+ if ($file eq "-strict")
+ {
+ $err_strict = 1;
+ next;
+ }
open(IN,"<$file") || die "unable to open $file\n";
$func="";
while (<IN>)
@@ -20,13 +28,13 @@ foreach $file (@ARGV)
$func = $1;
$func =~ tr/A-Z/a-z/;
}
- if (/([A-Z0-9]+)err\(([^,]+)/)
+ if (/([A-Z0-9]+)err\(([^,]+)/ && ! /ckerr_ignore/)
{
$errlib=$1;
$n=$2;
if ($func eq "")
- { print "$file:$.:???:$n\n"; next; }
+ { print "$file:$.:???:$n\n"; $bad = 1; next; }
if ($n !~ /([^_]+)_F_(.+)$/)
{
@@ -37,14 +45,20 @@ foreach $file (@ARGV)
$n=$2;
if ($lib ne $errlib)
- { print "$file:$.:$func:$n [${errlib}err]\n"; next; }
+ { print "$file:$.:$func:$n [${errlib}err]\n"; $bad = 1; next; }
$n =~ tr/A-Z/a-z/;
if (($n ne $func) && ($errlib ne "SYS"))
- { print "$file:$.:$func:$n\n"; next; }
+ { print "$file:$.:$func:$n\n"; $bad = 1; next; }
# print "$func:$1\n";
}
}
close(IN);
}
+if ($bad && $err_strict)
+ {
+ print STDERR "FATAL: error discrepancy\n";
+ exit 1;
+ }
+