projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make update
[openssl.git]
/
util
/
ck_errf.pl
diff --git
a/util/ck_errf.pl
b/util/ck_errf.pl
index 2b571e2412fc83715538701f937441f9796dfddd..7fc536786e6d18968082c0a7f0c6a164c5d2b765 100755
(executable)
--- a/
util/ck_errf.pl
+++ b/
util/ck_errf.pl
@@
-1,5
+1,11
@@
-#!/usr/local/bin/perl
+#! /usr/bin/env perl
+# Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved.
#
#
+# Licensed under the OpenSSL license (the "License"). You may not use
+# this file except in compliance with the License. You can obtain a copy
+# in the file LICENSE in the source distribution or at
+# https://www.openssl.org/source/license.html
+
# This is just a quick script to scan for cases where the 'error'
# function name in a XXXerr() macro is wrong.
#
# This is just a quick script to scan for cases where the 'error'
# function name in a XXXerr() macro is wrong.
#
@@
-7,22
+13,35
@@
# perl util/ck_errf.pl */*.c */*/*.c
#
# perl util/ck_errf.pl */*.c */*/*.c
#
+my $err_strict = 0;
+my $bad = 0;
+
foreach $file (@ARGV)
{
foreach $file (@ARGV)
{
+ if ($file eq "-strict")
+ {
+ $err_strict = 1;
+ next;
+ }
open(IN,"<$file") || die "unable to open $file\n";
$func="";
while (<IN>)
{
open(IN,"<$file") || die "unable to open $file\n";
$func="";
while (<IN>)
{
- if (!/;$/ && /^
([a-zA-Z].+[\s*])?([A-Za-z_0-9]+)\(.*\
)/)
+ if (!/;$/ && /^
\**([a-zA-Z_].*[\s*])?([A-Za-z_0-9]+)\(.*([),]|$
)/)
{
{
- $func=$2;
+ /^([^()]*(\([^()]*\)[^()]*)*)\(/;
+ $1 =~ /([A-Za-z_0-9]*)$/;
+ $func = $1;
$func =~ tr/A-Z/a-z/;
}
$func =~ tr/A-Z/a-z/;
}
- if (/([A-Z0-9]+)err\(([^,]+)/)
+ if (/([A-Z0-9]+)err\(([^,]+)/
&& ! /ckerr_ignore/
)
{
{
- next if ($func eq "");
$errlib=$1;
$n=$2;
$errlib=$1;
$n=$2;
+
+ if ($func eq "")
+ { print "$file:$.:???:$n\n"; $bad = 1; next; }
+
if ($n !~ /([^_]+)_F_(.+)$/)
{
# print "check -$file:$.:$func:$n\n";
if ($n !~ /([^_]+)_F_(.+)$/)
{
# print "check -$file:$.:$func:$n\n";
@@
-32,14
+51,20
@@
foreach $file (@ARGV)
$n=$2;
if ($lib ne $errlib)
$n=$2;
if ($lib ne $errlib)
- { print "$file:$.:$func:$n
\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"))
$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);
}
# print "$func:$1\n";
}
}
close(IN);
}
+if ($bad && $err_strict)
+ {
+ print STDERR "FATAL: error discrepancy\n";
+ exit 1;
+ }
+