#!/usr/local/plan9/bin/rc

. 9.rc
sym = 'threadmain?z
	p9main?z
	main?z'

fn dbsrc{
	echo $sym | db $1 | 9 sed '1d;/symbol not found/d;s/.*\(\) //'
}

fn go{
	type=`{file $1}
	switch($type){
	case *'script text'*
		plumbit $1 '(script)'
	case *executable* *'plan 9 boot image'* *'shared object'*
		plumbit  `{dbsrc $1} '(executable)'
	case *
		echo 'src: can''t find source for '$1 - unrecognized type $type >[1=2]
	}
}

fn plumbit{B $1}

fn usage{
	echo usage: 'src [-n] [-s symbol] executable ...'>[1=2]
	exit usage
}

while(~ $1 -*)
	switch($1){
	case -n
		shift
		fn plumbit {echo $1}
	case -s
		shift
		# add main in case symbol is undefined
		sym=$1'?z
			threadmain?z
			p9main?z
			main?z'
		shift
	case -*
		usage
	}

if(~ $#* 0) usage
ifs='
'
for(i){
	wi=`{which $i >[2]/dev/null}
	if(test -f $i) go $i
	if not if(~ $#wi 1 && test -f $wi) go $wi
	if not echo 'src: can''t find '$i
}
