More work refactoring ckint/tryint/isint
This commit is contained in:
@@ -44,20 +44,19 @@ static bool equivalent_values(LuaCoreStack &MLS, LuaSlot mval, LuaSlot mtnmap,
|
||||
switch (MLS.xtype(mval)) {
|
||||
case LUA_TBOOLEAN: {
|
||||
if (SLS.type(sval) != LUA_TBOOLEAN) return false;
|
||||
return MLS.ckboolean(mval) == SLS.ckboolean(sval);
|
||||
return MLS.tryboolean(mval) == SLS.tryboolean(sval);
|
||||
}
|
||||
case LUA_TNUMBER: {
|
||||
if (SLS.type(sval) != LUA_TNUMBER) return false;
|
||||
return MLS.cknumber(mval) == SLS.cknumber(sval);
|
||||
return MLS.trynumber(mval) == SLS.trynumber(sval);
|
||||
}
|
||||
case LUA_TSTRING: {
|
||||
// This could be faster if I used lua_tolstring directly.
|
||||
if (SLS.type(sval) != LUA_TSTRING) return false;
|
||||
return MLS.ckstring(mval) == SLS.ckstring(sval);
|
||||
return MLS.trystring(mval) == SLS.trystring(sval);
|
||||
}
|
||||
case LUA_TLIGHTUSERDATA: {
|
||||
if (SLS.type(sval) != LUA_TLIGHTUSERDATA) return false;
|
||||
return MLS.cktoken(mval) == SLS.cktoken(sval);
|
||||
return MLS.trytoken(mval) == SLS.trytoken(sval);
|
||||
}
|
||||
case LUA_TFUNCTION: {
|
||||
// Cannot really compare. Just return true if the types match.
|
||||
@@ -95,22 +94,22 @@ static void transmit_value(LuaCoreStack &MLS, LuaSlot mval, LuaSlot mtnmap, Stre
|
||||
switch (MLS.xtype(mval)) {
|
||||
case LUA_TBOOLEAN: {
|
||||
sb->write_uint8(LUA_TBOOLEAN);
|
||||
sb->write_bool(MLS.ckboolean(mval));
|
||||
sb->write_bool(*MLS.tryboolean(mval));
|
||||
return;
|
||||
}
|
||||
case LUA_TNUMBER: {
|
||||
sb->write_uint8(LUA_TNUMBER);
|
||||
sb->write_double(MLS.cknumber(mval));
|
||||
sb->write_double(*MLS.trynumber(mval));
|
||||
return;
|
||||
}
|
||||
case LUA_TSTRING: {
|
||||
sb->write_uint8(LUA_TSTRING);
|
||||
sb->write_string(MLS.ckstring(mval));
|
||||
sb->write_string(*MLS.trystring(mval));
|
||||
return;
|
||||
}
|
||||
case LUA_TLIGHTUSERDATA: {
|
||||
sb->write_uint8(LUA_TLIGHTUSERDATA);
|
||||
sb->write_uint64(MLS.cktoken(mval).value);
|
||||
sb->write_uint64((*MLS.trytoken(mval)).value);
|
||||
return;
|
||||
}
|
||||
case LUA_TT_GENERAL: {
|
||||
|
||||
Reference in New Issue
Block a user