shithub: riscv

ref: 346f5828e0e435d76ef7da8316e77a426c826d19
dir: /rc/bin/sig/

View raw version
#!/bin/rc
# Usage: sig key ...
#	prints out function signatures by grepping the manual


*=`{echo $*|tr A-Z a-z|tr -dc 'a-z0-9_ \012'}	# fold case, delete funny chars
if(~ $#* 0){
	echo Usage: sig function ... >/fd/2
	exit 1
}

for (i) {
	files=`{grep -il '[ 	]\*?'$i'\(' /sys/man/2/*}
	for(j in $files) {
		{echo .nr LL 20i; sed -n '/^.SH SYNOPSIS/,/^.SH.*DESCR/p'  $j } |
			nroff -man |
			sed '
				:a
				/,$/ {
					N
					s/\n//
				}
				ta
				s/[ 	]+/ /g' |
			grep -i -e '[ 	*]'$i'\(' | sed 's/^[ +]/	/'
	}
}

exit 0