Navigation Menu

Skip to content

Commit

Permalink
Allow more characters in file names
Browse files Browse the repository at this point in the history
  • Loading branch information
ShadowNinja committed Jun 1, 2015
1 parent 4bd5d56 commit 90d6b3d
Showing 1 changed file with 13 additions and 6 deletions.
19 changes: 13 additions & 6 deletions worldedit_commands/init.lua
Expand Up @@ -78,6 +78,10 @@ local function mkdir(path)
end
end

local function check_filename(name)
return name:find("^[%w%s%^&'@{}%[%],%$=!%-#%(%)%%%.%+~_]+$") ~= nil
end


minetest.register_chatcommand("/about", {
params = "",
Expand Down Expand Up @@ -885,11 +889,10 @@ minetest.register_chatcommand("/save", {
worldedit.player_notify(name, "invalid usage: " .. param)
return
end
if not param:find("^[a-zA-Z0-9_%-.]+$") then
if not check_filename(param) then
worldedit.player_notify(name, "Disallowed file name: " .. param)
return
end

local result, count = worldedit.serialize(worldedit.pos1[name],
worldedit.pos2[name])

Expand Down Expand Up @@ -923,8 +926,8 @@ minetest.register_chatcommand("/allocate", {
worldedit.player_notify(name, "invalid usage: " .. param)
return
end
if not string.find(param, "^[%w \t.,+-_=!@#$%%^&*()%[%]{};'\"]+$") then
worldedit.player_notify(name, "invalid file name: " .. param)
if not check_filename(param) then
worldedit.player_notify(name, "Disallowed file name: " .. param)
return
end

Expand Down Expand Up @@ -1056,7 +1059,7 @@ minetest.register_chatcommand("/mtschemcreate", {
worldedit.player_notify(name, "No filename specified")
return
end
if not param:find("^[a-zA-Z0-9_%-.]+$") then
if not check_filename(param) then
worldedit.player_notify(name, "Disallowed file name: " .. param)
return
end
Expand All @@ -1083,10 +1086,14 @@ minetest.register_chatcommand("/mtschemplace", {
description = "Load nodes from \"(world folder)/schems/<file>.mts\" with position 1 of the current WorldEdit region as the origin",
privs = {worldedit=true},
func = function(name, param)
if param == nil then
if param == "" then
worldedit.player_notify(name, "no filename specified")
return
end
if not check_filename(param) then
worldedit.player_notify(name, "Disallowed file name: " .. param)
return
end

local pos = get_position(name)
if pos == nil then return end
Expand Down

0 comments on commit 90d6b3d

Please sign in to comment.