Skip to content

Commit 875e054

Browse files
committed
Always use the withmetatable variant of newuserdatatagged where appropriate
1 parent 4bd386b commit 875e054

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

VM/src/ares.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1313,10 +1313,18 @@ static void u_userdata(Info *info) { /* ... */
13131313
uint8_t utag = READ_VALUE(uint8_t);
13141314
switch(utag) {
13151315
case UTAG_PROXY:
1316-
case UTAG_QUATERNION:
13171316
{
13181317
size_t size = READ_VALUE(ares_size_t);
13191318
void* value = lua_newuserdatatagged(info->L, size, utag);
1319+
/* ... udata */
1320+
READ_RAW(value, size);
1321+
registerobject(info);
1322+
break;
1323+
}
1324+
case UTAG_QUATERNION:
1325+
{
1326+
size_t size = READ_VALUE(ares_size_t);
1327+
void* value = lua_newuserdatataggedwithmetatable(info->L, size, utag);
13201328
/* ... udata */
13211329
READ_RAW(value, size);
13221330
registerobject(info);

VM/src/llsl.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,11 @@ static int lsl_quaternion_ctor(lua_State *L)
7474
const auto y = luaL_checknumber(L, 2);
7575
const auto z = luaL_checknumber(L, 3);
7676
const auto s = luaL_checknumber(L, 4);
77-
auto *quat = (float *)lua_newuserdatatagged(L, sizeof(float) * 4, UTAG_QUATERNION);
77+
auto *quat = (float *)lua_newuserdatataggedwithmetatable(L, sizeof(float) * 4, UTAG_QUATERNION);
7878
quat[0] = (float)x;
7979
quat[1] = (float)y;
8080
quat[2] = (float)z;
8181
quat[3] = (float)s;
82-
lua_getuserdatametatable(L, UTAG_QUATERNION);
83-
lua_setmetatable(L, -2);
8482
return 1;
8583
}
8684

0 commit comments

Comments
 (0)