lualoader: use floor division to get correct type

This fixes the positioning of the "Welcome to FreeBSD" heading, which was
misplaced after the recent update to Lua 5.4. The issue was previously
masked by a compatibility knob in Lua 5.3 that would cause float-tagged
numbers to render faithfully without the decimal component. Lua 5.4 dropped
that and ensures that it always prints a decimal component, even if it has
to append a ".0" to the value.

Standard division produces a "float", floor division (//) can be used to
guarantee an integer. Floating point operations have been completely ripped
out of the liblua compiled for the bootloader, so this is a nop. This is
decidedly better than trying to hack out the float tag entirely.

Reported-by:	mjg, probably others
MFC-after:	3 days
This commit is contained in:
Kyle Evans 2021-01-15 08:15:40 -06:00
parent c664d8dfc3
commit 994e1f40f6

View File

@ -283,7 +283,7 @@ local function drawbox()
end
end
if menu_header_x == nil then
menu_header_x = x + (w / 2) - (#menu_header / 2)
menu_header_x = x + (w // 2) - (#menu_header // 2)
end
screen.setcursor(menu_header_x, y)
printc(menu_header)