Enforce modname naming convention
authorPerttu Ahola <celeron55@gmail.com>
Sun, 4 Dec 2011 16:26:05 +0000 (18:26 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Sun, 4 Dec 2011 16:26:05 +0000 (18:26 +0200)
src/scriptapi.cpp

index a88d6be5ab66f59694910626d90836ac71070ad6..c759683edb388959c07c5e2565991eb3c1801e1c 100644 (file)
@@ -164,7 +164,7 @@ void check_modname_prefix(lua_State *L, std::string &name)
                        "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"))
                throw LuaError(L, std::string("Name \"")+name
                                +"\" does not follow naming conventions: "
-                               +"\"contains unallowed characters)");
+                               +"\"contains unallowed characters");
 }
 
 static v3f readFloatPos(lua_State *L, int index)
@@ -2672,6 +2672,14 @@ bool scriptapi_loadmod(lua_State *L, const std::string &scriptpath,
 {
        ModNameStorer modnamestorer(L, modname);
 
+       if(!string_allowed(modname, "abcdefghijklmnopqrstuvwxyz"
+                       "0123456789_")){
+               errorstream<<"Error loading mod \""<<modname
+                               <<"\": modname does not follow naming conventions: "
+                               <<"Only chararacters [a-z0-9_] are allowed."<<std::endl;
+               return false;
+       }
+       
        bool success = false;
 
        try{