mirror of
https://github.com/bjornbytes/lovr.git
synced 2024-07-04 13:33:34 +00:00
rm Variant type name tracking;
This commit is contained in:
parent
d6daa885c8
commit
0b922a9703
|
@ -27,10 +27,6 @@ static void luax_checkvariant(lua_State* L, int index, Variant* variant) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LUA_TUSERDATA:
|
case LUA_TUSERDATA:
|
||||||
lua_getmetatable(L, index);
|
|
||||||
lua_getfield(L, -1, "name");
|
|
||||||
variant->meta = luaL_checkstring(L, -1);
|
|
||||||
lua_pop(L, 2);
|
|
||||||
variant->type = TYPE_OBJECT;
|
variant->type = TYPE_OBJECT;
|
||||||
variant->value.ref = lua_touserdata(L, index);
|
variant->value.ref = lua_touserdata(L, index);
|
||||||
lovrRetain(variant->value.ref);
|
lovrRetain(variant->value.ref);
|
||||||
|
@ -44,18 +40,12 @@ static void luax_checkvariant(lua_State* L, int index, Variant* variant) {
|
||||||
|
|
||||||
static int luax_pushvariant(lua_State* L, Variant* variant) {
|
static int luax_pushvariant(lua_State* L, Variant* variant) {
|
||||||
switch (variant->type) {
|
switch (variant->type) {
|
||||||
case TYPE_NIL: lua_pushnil(L); break;
|
case TYPE_NIL: lua_pushnil(L); return 1;
|
||||||
case TYPE_BOOLEAN: lua_pushboolean(L, variant->value.boolean); break;
|
case TYPE_BOOLEAN: lua_pushboolean(L, variant->value.boolean); return 1;
|
||||||
case TYPE_NUMBER: lua_pushnumber(L, variant->value.number); break;
|
case TYPE_NUMBER: lua_pushnumber(L, variant->value.number); return 1;
|
||||||
case TYPE_STRING: lua_pushstring(L, variant->value.string); break;
|
case TYPE_STRING: lua_pushstring(L, variant->value.string); free(variant->value.string); return 1;
|
||||||
case TYPE_OBJECT: luax_pushobject(L, variant->value.ref); lovrRelease(variant->value.ref); break;
|
case TYPE_OBJECT: luax_pushobject(L, variant->value.ref); lovrRelease(variant->value.ref); return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (variant->type == TYPE_STRING) {
|
|
||||||
free(variant->value.string);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void luax_checktimeout(lua_State* L, int index, double* timeout) {
|
static void luax_checktimeout(lua_State* L, int index, double* timeout) {
|
||||||
|
|
|
@ -22,7 +22,6 @@ typedef union {
|
||||||
} VariantValue;
|
} VariantValue;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
const char* meta;
|
|
||||||
VariantType type;
|
VariantType type;
|
||||||
VariantValue value;
|
VariantValue value;
|
||||||
} Variant;
|
} Variant;
|
||||||
|
|
Loading…
Reference in a new issue