opt()
case ${1##*:*}:${#2} in
(--:*) ! x=$((x-2)) ;;
(-nonfileoption:[!0]*) p=;;
(-fileoption:[!0]*) p=\$2/;;
(*:0) eval $"{$x"':?Bad option::arg: "$1::$2"}';;
(*) eval $"{$((x-1))"':?Bad option: "$1"}'
esac
[ " -location" = " $1" ] && x=2 parm= &&
while [ "$#" -ge "$((x+=2))" ]
do eval 'opt "${'"$((x-1))"'}" "${'"$x}\"" ||
until [ "$x" -eq "$#" ] && break 2
do parm=$parm' "${'$((x+=1))}\"
done
parm=$parm' "${'$((x-1))'}" "'$p\${$x}\"
done&& eval "set -- $parm"