home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 18 REXX
/
18-REXX.zip
/
rximc175.zip
/
lintfilter
< prev
next >
Wrap
Text File
|
1992-09-17
|
2KB
|
61 lines
#!/bin/sh
unused=/tmp/Awk$$.1; test>$unused
declared=/tmp/Awk$$.2; test>$declared
used=/tmp/Awk$$.3; test>$used
undefined=/tmp/Awk$$.4; test>$undefined
ignored=/tmp/Awk$$.5; test>$ignored
defined=/tmp/Awk$$.6; test>$defined
usual=/tmp/lint; test>$usual
awk 'BEGIN {pointer=0; evaluation=0;}
/warning: argument .* unused in function/ {print $1" "$4" in "$8>unused;next;}
/, arg\. . used inconsistently/ {tmp=sprintf("%s %s %s",$1,$2,$3);
printf "%-30s %s :: %s\n",tmp,$6,$8>used;
next;}
/value declared inconsistently/ {printf "%-30s %s :: %s\n",$1,$5,$7>declared;
next;}
/returns value which is .* ignored$/ {printf "%-10s%s\n",$6,$1>ignored;next;}
/used\( .* \), but not defined$/ {printf "%-16s %s\n",$1,$3>undefined;next;}
/defined\( .* \), but never used$/ { printf "%-16s %s\n",$1,$3>defined;next;}
/warning: possible pointer alignment problem$/ {pointer++;next;}
/warning: evaluation order for .* undefined$/ {evaluation++;next;}
{print >usual;}
END {printf "\n %4d pointer alignment problems and\n",pointer>usual;
printf " %4d evaluation order problems\n",evaluation>usual;}
' unused=$unused declared=$declared used=$used defined=$defined \
undefined=$undefined ignored=$ignored usual=$usual;
echo '
Arguments which are used inconsistently:
' >> $usual
cat $used>>$usual
echo '
Values which are declared inconsistently:
' >> $usual
cat $declared>>$usual
echo '
Arguments which are unused:
' >> $usual
cat $unused>>$usual
echo '
Symbols which are not defined:
' >> $usual
cat $undefined>>$usual
echo '
Functions which are not used:
' >> $usual
cat $defined>>$usual
echo '
Return values which are ignored:
' >> $usual
cat $ignored>>$usual
rm $unused $declared $used $undefined $ignored $defined