mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'no-snull' into 'master'
SOC/Lua null struct safety Closes #1488 See merge request KartKrew/Kart!2469
This commit is contained in:
commit
39a0724db6
2 changed files with 12 additions and 10 deletions
|
|
@ -378,7 +378,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
||||||
{
|
{
|
||||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||||
i = get_state(word2); // find a state by name
|
i = get_state(word2); // find a state by name
|
||||||
if (i < NUMSTATES && i >= 0)
|
if (i < NUMSTATES && i > 0)
|
||||||
{
|
{
|
||||||
if (i < (S_FIRSTFREESLOT+freeslotusage[0][1]))
|
if (i < (S_FIRSTFREESLOT+freeslotusage[0][1]))
|
||||||
{
|
{
|
||||||
|
|
@ -389,7 +389,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
deh_warning("Frame %d out of range (0 - %d)", i, NUMSTATES-1);
|
deh_warning("Frame %d out of range (1 - %d)", i, NUMSTATES-1);
|
||||||
ignorelines(f);
|
ignorelines(f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -730,8 +730,8 @@ static int lib_getState(lua_State *L)
|
||||||
lua_remove(L, 1);
|
lua_remove(L, 1);
|
||||||
|
|
||||||
i = luaL_checkinteger(L, 1);
|
i = luaL_checkinteger(L, 1);
|
||||||
if (i >= NUMSTATES)
|
if (i == 0 || i >= NUMSTATES)
|
||||||
return luaL_error(L, "states[] index %d out of range (0 - %d)", i, NUMSTATES-1);
|
return luaL_error(L, "states[] index %d out of range (1 - %d)", i, NUMSTATES-1);
|
||||||
LUA_PushUserdata(L, &states[i], META_STATE);
|
LUA_PushUserdata(L, &states[i], META_STATE);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -743,8 +743,8 @@ static int lib_setState(lua_State *L)
|
||||||
lua_remove(L, 1); // don't care about states[] userdata.
|
lua_remove(L, 1); // don't care about states[] userdata.
|
||||||
{
|
{
|
||||||
UINT32 i = luaL_checkinteger(L, 1);
|
UINT32 i = luaL_checkinteger(L, 1);
|
||||||
if (i >= NUMSTATES)
|
if (i == 0 || i >= NUMSTATES)
|
||||||
return luaL_error(L, "states[] index %d out of range (0 - %d)", i, NUMSTATES-1);
|
return luaL_error(L, "states[] index %d out of range (1 - %d)", i, NUMSTATES-1);
|
||||||
state = &states[i]; // get the state to assign to.
|
state = &states[i]; // get the state to assign to.
|
||||||
}
|
}
|
||||||
luaL_checktype(L, 2, LUA_TTABLE); // check that we've been passed a table.
|
luaL_checktype(L, 2, LUA_TTABLE); // check that we've been passed a table.
|
||||||
|
|
@ -1092,8 +1092,8 @@ static int lib_getMobjInfo(lua_State *L)
|
||||||
lua_remove(L, 1);
|
lua_remove(L, 1);
|
||||||
|
|
||||||
i = luaL_checkinteger(L, 1);
|
i = luaL_checkinteger(L, 1);
|
||||||
if (i >= NUMMOBJTYPES)
|
if (i == 0 || i >= NUMMOBJTYPES)
|
||||||
return luaL_error(L, "mobjinfo[] index %d out of range (0 - %d)", i, NUMMOBJTYPES-1);
|
return luaL_error(L, "mobjinfo[] index %d out of range (1 - %d)", i, NUMMOBJTYPES-1);
|
||||||
LUA_PushUserdata(L, &mobjinfo[i], META_MOBJINFO);
|
LUA_PushUserdata(L, &mobjinfo[i], META_MOBJINFO);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
@ -1105,8 +1105,8 @@ static int lib_setMobjInfo(lua_State *L)
|
||||||
lua_remove(L, 1); // don't care about mobjinfo[] userdata.
|
lua_remove(L, 1); // don't care about mobjinfo[] userdata.
|
||||||
{
|
{
|
||||||
UINT32 i = luaL_checkinteger(L, 1);
|
UINT32 i = luaL_checkinteger(L, 1);
|
||||||
if (i >= NUMMOBJTYPES)
|
if (i == 0 || i >= NUMMOBJTYPES)
|
||||||
return luaL_error(L, "mobjinfo[] index %d out of range (0 - %d)", i, NUMMOBJTYPES-1);
|
return luaL_error(L, "mobjinfo[] index %d out of range (1 - %d)", i, NUMMOBJTYPES-1);
|
||||||
info = &mobjinfo[i]; // get the mobjinfo to assign to.
|
info = &mobjinfo[i]; // get the mobjinfo to assign to.
|
||||||
}
|
}
|
||||||
luaL_checktype(L, 2, LUA_TTABLE); // check that we've been passed a table.
|
luaL_checktype(L, 2, LUA_TTABLE); // check that we've been passed a table.
|
||||||
|
|
@ -1355,6 +1355,8 @@ static int mobjinfo_set(lua_State *L)
|
||||||
info->flags = (INT32)luaL_checkinteger(L, 3);
|
info->flags = (INT32)luaL_checkinteger(L, 3);
|
||||||
else if (fastcmp(field,"raisestate"))
|
else if (fastcmp(field,"raisestate"))
|
||||||
info->raisestate = luaL_checkinteger(L, 3);
|
info->raisestate = luaL_checkinteger(L, 3);
|
||||||
|
else if (fastcmp(field,"string"))
|
||||||
|
return luaL_error(L, LUA_QL("mobjinfo_t") " field " LUA_QS " should not be set directly.", field);
|
||||||
else {
|
else {
|
||||||
lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
|
lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
|
||||||
I_Assert(lua_istable(L, -1));
|
I_Assert(lua_istable(L, -1));
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue