From 98ce7db4053f77a4a4ccecf1aa1206724d3a52d2 Mon Sep 17 00:00:00 2001 From: zawz Date: Thu, 12 Nov 2020 00:52:39 +0100 Subject: [PATCH] zpass: prompt failsafe, turn tty back on on interrupt --- zpass/src/prompt.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/zpass/src/prompt.sh b/zpass/src/prompt.sh index 6bb7d6e..c466af2 100644 --- a/zpass/src/prompt.sh +++ b/zpass/src/prompt.sh @@ -3,13 +3,17 @@ # $1 = prompt console_prompt_hidden() { - local prompt - printf "%s" "$1" >&2 - stty -echo - read -r prompt || return $? - stty echo - printf "\n" >&2 - echo "$prompt" + ( + _tty_on() { stty echo; } + trap _tty_on INT + local prompt + printf "%s" "$1" >&2 + stty -echo + read -r prompt || { stty echo; return 1; } + stty echo + printf "\n" >&2 + echo "$prompt" + ) } # $1 = prompt message