xref: /netbsd-src/games/warp/filexp (revision 59ba73f69138c528d14081ca914fc15102708bd6)
1*59ba73f6Skamil#!/bin/sh
2*59ba73f6Skamil: expand filename
3*59ba73f6Skamilcase "$1" in
4*59ba73f6Skamil ~/*|~)
5*59ba73f6Skamil    echo $1 | sed "s|~|${HOME-$LOGDIR}|"
6*59ba73f6Skamil    ;;
7*59ba73f6Skamil ~*)
8*59ba73f6Skamil    if /bin/test -f /bin/csh; then
9*59ba73f6Skamil	/bin/csh -f -c "glob $1"
10*59ba73f6Skamil	echo ""
11*59ba73f6Skamil    else
12*59ba73f6Skamil	name=`expr x$1 : '..\([^/]*\)'`
13*59ba73f6Skamil	dir=`sed -n -e "/^${name}:/{s/^[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:]*\).*"'$'"/\1/" -e p -e q -e '}' </etc/passwd`
14*59ba73f6Skamil	if /bin/test ! -d "$dir"; then
15*59ba73f6Skamil	    me=`basename $0`
16*59ba73f6Skamil	    echo "$me: can't locate home directory for: $name" >&2
17*59ba73f6Skamil	    exit 1
18*59ba73f6Skamil	fi
19*59ba73f6Skamil	case "$1" in
20*59ba73f6Skamil	*/*)
21*59ba73f6Skamil	    echo $dir/`expr x$1 : '..[^/]*/\(.*\)'`
22*59ba73f6Skamil	    ;;
23*59ba73f6Skamil	*)
24*59ba73f6Skamil	    echo $dir
25*59ba73f6Skamil	    ;;
26*59ba73f6Skamil	esac
27*59ba73f6Skamil    fi
28*59ba73f6Skamil    ;;
29*59ba73f6Skamil*)
30*59ba73f6Skamil    echo $1
31*59ba73f6Skamil    ;;
32*59ba73f6Skamilesac
33