zpass: prompt failsafe, turn tty back on on interrupt

This commit is contained in:
zawz 2020-11-12 00:52:39 +01:00
parent e64e378671
commit 98ce7db405

View file

@ -3,13 +3,17 @@
# $1 = prompt # $1 = prompt
console_prompt_hidden() console_prompt_hidden()
{ {
local prompt (
printf "%s" "$1" >&2 _tty_on() { stty echo; }
stty -echo trap _tty_on INT
read -r prompt || return $? local prompt
stty echo printf "%s" "$1" >&2
printf "\n" >&2 stty -echo
echo "$prompt" read -r prompt || { stty echo; return 1; }
stty echo
printf "\n" >&2
echo "$prompt"
)
} }
# $1 = prompt message # $1 = prompt message