fix savestate.create(integer)

maybe fixes #41 (not sure)
This commit is contained in:
zeromus 2019-03-18 00:26:26 -04:00
parent 3a14fc724c
commit f9094a4655
1 changed files with 13 additions and 6 deletions

View File

@ -2711,15 +2711,22 @@ static int savestate_create_aliased(lua_State *L, bool newnumbering) {
int which = -1;
const char* path = NULL;
bool hasArg = false;
if (lua_gettop(L) >= 1) {
if (lua_gettop(L) >= 1)
{
hasArg = true;
path = luaL_checkstring(L, 1);
if(path == NULL) {
which = luaL_checkinteger(L, 1);
if(lua_isnumber(L,1))
{
which = luaL_checkinteger(L,1);
if (which < 1 || which > 10) {
luaL_error(L, "invalid player's savestate %d", which);
}
}
else
{
path = luaL_checkstring(L, 1);
}
}
//lets use lua to allocate the memory, since it is effectively a memory pool.