home *** CD-ROM | disk | FTP | other *** search
- #!/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
-