#!/bin/rc # var - find C variable declarations # var [pattern] rfork e ident='([a-zA-Z_][a-zA-Z_0-9]*)' var=$1 var=`{echo $var | sed 's,%,'$ident'?,g'} if(~ $#var 0) var=$ident decl='[ ]*'$ident'\**[ ]+\**[ ]*'$var'(\[.*\])?[ ]*(;$|=[^=]*)' falsematch='(return|goto|typedef)'; srcs=`{walk -f | grep '\.(c|h)'} grep -n -e $decl $srcs /dev/null | grep -v $falsematch | sed 's,[ ]+, ,g'