ck_errf.pl revision 160814
155714Skris#!/usr/local/bin/perl 255714Skris# 355714Skris# This is just a quick script to scan for cases where the 'error' 455714Skris# function name in a XXXerr() macro is wrong. 555714Skris# 655714Skris# Run in the top level by going 755714Skris# perl util/ck_errf.pl */*.c */*/*.c 855714Skris# 955714Skris 1055714Skrisforeach $file (@ARGV) 1155714Skris { 1255714Skris open(IN,"<$file") || die "unable to open $file\n"; 1355714Skris $func=""; 1455714Skris while (<IN>) 1555714Skris { 1655714Skris if (!/;$/ && /^([a-zA-Z].*[\s*])?([A-Za-z_0-9]+)\(.*[),]/) 1755714Skris { 1855714Skris /^([^()]*(\([^()]*\)[^()]*)*)\(/; 1955714Skris $1 =~ /([A-Za-z_0-9]*)$/; 2055714Skris $func = $1; 2155714Skris $func =~ tr/A-Z/a-z/; 2255714Skris } 2355714Skris if (/([A-Z0-9]+)err\(([^,]+)/) 2455714Skris { 2555714Skris $errlib=$1; 2655714Skris $n=$2; 2755714Skris 2855714Skris if ($func eq "") 2955714Skris { print "$file:$.:???:$n\n"; next; } 3055714Skris 3155714Skris if ($n !~ /([^_]+)_F_(.+)$/) 3255714Skris { 3355714Skris # print "check -$file:$.:$func:$n\n"; 3455714Skris next; 3555714Skris } 3655714Skris $lib=$1; 3755714Skris $n=$2; 3855714Skris 3955714Skris if ($lib ne $errlib) 4055714Skris { print "$file:$.:$func:$n [${errlib}err]\n"; next; } 4155714Skris 4255714Skris $n =~ tr/A-Z/a-z/; 4355714Skris if (($n ne $func) && ($errlib ne "SYS")) 4455714Skris { print "$file:$.:$func:$n\n"; next; } 4555714Skris # print "$func:$1\n"; 46 } 47 } 48 close(IN); 49 } 50 51