From 08ab19fcbb8ca04d3c4766eed6b9476a279f260b Mon Sep 17 00:00:00 2001 From: sfan5 Date: Wed, 24 Sep 2025 21:29:39 +0200 Subject: [PATCH] Check empty command parameters strictly --- worldedit_commands/init.lua | 6 ++++-- worldedit_commands/nodename.lua | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/worldedit_commands/init.lua b/worldedit_commands/init.lua index a7aa8c8..94fa84c 100644 --- a/worldedit_commands/init.lua +++ b/worldedit_commands/init.lua @@ -51,6 +51,7 @@ local function chatcommand_handler(cmd_name, name, param) end end + param = param:trim() local parsed = {def.parse(param)} local success = table.remove(parsed, 1) if not success then @@ -116,8 +117,9 @@ function worldedit.register_command(name, def) def.require_pos = def.require_pos or 0 assert(def.require_pos >= 0 and def.require_pos < 3) if def.params == "" and not def.parse then - -- FIXME: shouldn't this check for param to be empty? - def.parse = function(param) return true end + def.parse = function(param) + return param == "" + end else assert(def.parse) end diff --git a/worldedit_commands/nodename.lua b/worldedit_commands/nodename.lua index b6f17e1..bb1a4b7 100644 --- a/worldedit_commands/nodename.lua +++ b/worldedit_commands/nodename.lua @@ -34,7 +34,7 @@ local description_cache = nil -- normalizes node "description" `nodename`, returning a string (or nil) worldedit.normalize_nodename = function(nodename) - nodename = nodename:gsub("^%s*(.-)%s*$", "%1") -- strip spaces + nodename = nodename:trim() if nodename == "" then return nil end