Builtin: Sanity-check /time inputs

This enforces the documented bounds for the /time command.
master
SmallJoker 2022-01-27 22:23:14 +01:00 committed by luk3yx
parent 98f2fc92df
commit 915f986e3d
1 changed files with 4 additions and 5 deletions

View File

@ -933,12 +933,11 @@ core.register_chatcommand("time", {
end
local hour, minute = param:match("^(%d+):(%d+)$")
if not hour then
local new_time = tonumber(param)
if not new_time then
return false, "Invalid time."
local new_time = tonumber(param) or -1
if new_time ~= new_time or new_time < 0 or new_time > 24000 then
return false, "Invalid time (must be between 0 and 24000)."
end
-- Backward compatibility.
core.set_timeofday((new_time % 24000) / 24000)
core.set_timeofday(new_time / 24000)
core.log("action", name .. " sets time to " .. new_time)
return true, "Time of day changed."
end