diff --git a/src/luaapi.c b/src/luaapi.c index d5f9948..956cb51 100644 --- a/src/luaapi.c +++ b/src/luaapi.c @@ -1493,7 +1493,7 @@ static int luaapi_require(lua_State *L) { } for(int i = 0; i < nameLen;) { - if(!isalpha(name[i]) && !isdigit(name[i]) && name[i] != '_' && name[i] != '-') { + if(!isalpha(name[i]) && !isdigit(name[i]) && name[i] != '_' && name[i] != '-' && name[i] != '.') { memmove(name + i + 1, name + i, --nameLen - i); } else i++; } @@ -1511,7 +1511,7 @@ static int luaapi_require(lua_State *L) { } char buf[128]; - snprintf(buf, sizeof(buf), "%s.lua", name); + snprintf(buf, sizeof(buf), "%.*s.lua", (int) nameLen, name); buf[127] = 0; for(size_t i = 0; buf[i] && i < strlen(buf) - 4; i++) { if(buf[i] == '.') buf[i] = '/';