summaryrefslogtreecommitdiff
path: root/src/scriptapi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/scriptapi.cpp')
-rw-r--r--src/scriptapi.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp
index be1366737..c9f132f4a 100644
--- a/src/scriptapi.cpp
+++ b/src/scriptapi.cpp
@@ -153,11 +153,18 @@ void check_modname_prefix(lua_State *L, std::string &name)
// For __builtin, anything goes
if(modname == "__builtin")
return;
-
- if(name.substr(0, modname.size()+1) != modname + "_")
+
+ if(name.substr(0, modname.size()+1) != modname + ":")
+ throw LuaError(L, std::string("Name \"")+name
+ +"\" does not follow naming conventions: "
+ +"\"modname:\" or \":\" prefix required)");
+
+ std::string subname = name.substr(modname.size()+1);
+ if(!string_allowed(subname, "abcdefghijklmnopqrstuvwxyz"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"))
throw LuaError(L, std::string("Name \"")+name
+"\" does not follow naming conventions: "
- +"\"modname_\" or \":\" prefix required)");
+ +"\"contains unallowed characters)");
}
static v3f readFloatPos(lua_State *L, int index)