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 { 16160814Ssimon if (!/;$/ && /^([a-zA-Z].*[\s*])?([A-Za-z_0-9]+)\(.*[),]/) 1755714Skris { 18160814Ssimon /^([^()]*(\([^()]*\)[^()]*)*)\(/; 19160814Ssimon $1 =~ /([A-Za-z_0-9]*)$/; 20160814Ssimon $func = $1; 2155714Skris $func =~ tr/A-Z/a-z/; 2255714Skris } 2355714Skris if (/([A-Z0-9]+)err\(([^,]+)/) 2455714Skris { 2555714Skris $errlib=$1; 2655714Skris $n=$2; 27160814Ssimon 28160814Ssimon if ($func eq "") 29160814Ssimon { print "$file:$.:???:$n\n"; next; } 30160814Ssimon 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) 40160814Ssimon { 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"; 4655714Skris } 4755714Skris } 4855714Skris close(IN); 4955714Skris } 5055714Skris 51