lualoader: Clear the screen before prompting for password

Assuming that the autoboot sequence was interrupted, we've done enough
cursor manipulation that the prompt for the password will be sufficiently
obscured a couple of lines up. Clear the screen and reset the cursor
position here, too.

MFC after:	1 week
This commit is contained in:
kevans 2019-03-26 02:33:27 +00:00
parent 97062c1e97
commit 99ce179649

View File

@ -40,6 +40,12 @@ local show_password_mask = false
local twiddle_chars = {"/", "-", "\\", "|"}
local screen_setup = false
local function setup_screen()
screen.clear()
screen.defcursor()
screen_setup = true
end
-- Module exports
function password.read(prompt_length)
local str = ""
@ -90,9 +96,7 @@ function password.check()
end
if not screen_setup then
screen.clear()
screen.defcursor()
screen_setup = true
setup_screen()
end
while true do
@ -131,6 +135,11 @@ function password.check()
local pwd = loader.getenv("password")
if pwd ~= nil then
core.autoboot()
-- The autoboot sequence was interrupted, so we'll need to
-- prompt for a password. Put the screen back into a known
-- good state, otherwise we're drawing back a couple lines
-- in the middle of other text.
setup_screen()
end
compare("Loader password:", pwd)
end