1214291Sjilles# $FreeBSD$
2214291Sjilles# POSIX does not require these bytes to work in function names,
3214291Sjilles# but making them all work seems a good goal.
4214291Sjilles
5214291Sjillesfailures=0
6214291Sjillesunset LC_ALL
7214291Sjillesexport LC_CTYPE=en_US.ISO8859-1
8214291Sjillesi=128
9214291Sjillesset -f
10214291Sjilleswhile [ "$i" -le 255 ]; do
11214291Sjilles	c=$(printf \\"$(printf %o "$i")")
12214291Sjilles	ok=0
13214291Sjilles	eval "$c() { ok=1; }"
14214291Sjilles	$c
15214291Sjilles	ok1=$ok
16214291Sjilles	ok=0
17214291Sjilles	"$c"
18214291Sjilles	if [ "$ok" != 1 ] || [ "$ok1" != 1 ]; then
19214291Sjilles		echo "Bad results for character $i" >&2
20214291Sjilles		: $((failures += 1))
21214291Sjilles	fi
22214291Sjilles	unset -f $c
23214291Sjilles	i=$((i+1))
24214291Sjillesdone
25214291Sjillesexit $((failures > 0))
26