svn commit: r344243 - head/stand/lua
Kyle Evans
kevans at FreeBSD.org
Mon Feb 18 02:59:48 UTC 2019
Author: kevans
Date: Mon Feb 18 02:59:47 2019
New Revision: 344243
URL: https://svnweb.freebsd.org/changeset/base/344243
Log:
lualoader: only clear the screen before first password prompt
This was previously an unconditional screen clear, regardless of whether or
not we would be prompting for any passwords. This is pointless, given that
the screen clear is only there to put our screen into a consistent state
before we draw the prompts and do cursor manipulation.
This is also the only screen clear besides that to draw the menu. One can
now see early pre-loader and loader output with the menu disabled, which may
be useful for diagnostics.
Reported by: ian
MFC after: 3 days
Modified:
head/stand/lua/password.lua
Modified: head/stand/lua/password.lua
==============================================================================
--- head/stand/lua/password.lua Mon Feb 18 01:57:47 2019 (r344242)
+++ head/stand/lua/password.lua Mon Feb 18 02:59:47 2019 (r344243)
@@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect password
-- Asterisks as a password mask
local show_password_mask = false
local twiddle_chars = {"/", "-", "\\", "|"}
+local screen_setup = false
-- Module exports
function password.read(prompt_length)
@@ -80,14 +81,18 @@ function password.read(prompt_length)
end
function password.check()
- screen.clear()
- screen.defcursor()
-- pwd is optionally supplied if we want to check it
local function doPrompt(prompt, pwd)
local attempts = 1
local function clear_incorrect_text_prompt()
printc("\r" .. string.rep(" ", #INCORRECT_PASSWORD))
+ end
+
+ if not screen_setup then
+ screen.clear()
+ screen.defcursor()
+ screen_setup = true
end
while true do
More information about the svn-src-all
mailing list