Date: Fri, 16 Feb 2018 17:46:07 +0000 (UTC) From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r329387 - head/stand/lua Message-ID: <201802161746.w1GHk72A027121@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kevans Date: Fri Feb 16 17:46:07 2018 New Revision: 329387 URL: https://svnweb.freebsd.org/changeset/base/329387 Log: stand/lua: Chop off the decimal for numbers passed to setcursor Decimals screw up the escape sequence and the cursor will not get set. Right now this only affects setting the cursor for drawing "Welcome to FreeBSD" -- the resulting number after our (x+(w/2)-9) calculation gets output as "14.0." This should be fixed at the interpreter level, rather than here, but this is not a widespread problem at the moment so we'll fix it up in further work. Reported by: David Wolfskill <david@catwhisker.org> Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D14375 Modified: head/stand/lua/screen.lua Modified: head/stand/lua/screen.lua ============================================================================== --- head/stand/lua/screen.lua Fri Feb 16 17:42:38 2018 (r329386) +++ head/stand/lua/screen.lua Fri Feb 16 17:46:07 2018 (r329387) @@ -31,6 +31,17 @@ local screen = {}; local color = require("color"); local core = require("core"); +-- XXX TODO: This should be fixed in the interpreter to not print decimals +function intstring(num) + local str = tostring(num) + local decimal = string.find(str, "[.]") + + if decimal then + return string.sub(str, 1, decimal - 1) + end + return str +end + function screen.clear() if core.bootserial() then return; @@ -42,7 +53,8 @@ function screen.setcursor(x, y) if core.bootserial() then return; end - loader.printc("\027["..y..";"..x.."H"); + + loader.printc("\027["..intstring(y)..";"..intstring(x).."H"); end function screen.setforeground(c)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201802161746.w1GHk72A027121>