ref: 17ffc25b2303538e71895e660fce6640d5b1dc3b
dir: /bin/var/
#!/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 cat >/env/decl <<. [ ]*$ident([\* ]+$ident[, ]*)*([\* ]+$var[, ]*)+([\* ]+$ident[, ]*)*(;|=[^=]*)$ . falsematch='(return|goto|typedef)[ ]+'; srcs=`{walk -f | grep '\.[chy]$'} grep -n -e `''{cat /env/decl} $srcs /dev/null | grep -v $falsematch | sed 's,[ ]+, ,g'