Index: openssl/util/ck_errf.pl |
=================================================================== |
--- openssl/util/ck_errf.pl (revision 105093) |
+++ openssl/util/ck_errf.pl (working copy) |
@@ -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 @@ |
$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 @@ |
$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; |
+ } |
+ |