#
# readln reads a line into $ans.
#
#       readln prompt default
#
function readln () {
        if [ "$DEFAULT" = "-d" ]; then
                echo "$1"
                ans=$2
        else
                echo -n "$1"
                IFS='@' read ans </dev/tty || exit 1
                [ -z "$ans" ] && ans=$2
        fi
}



#
#       bool question define
#
function bool () {
        ans=""
        def=$(eval echo "\${$2:-'n'}")
        case "$def" in
         "y") defprompt="Y/n"
              ;;
         "n") defprompt="N/y"
              ;;
        esac
        while [ "$ans" != "y" -a "$ans" != "n" ]; do
                readln "$1 ($2) [$defprompt] " "$def"
        done
        define_bool "$2" "$ans"
}

