Browse Source

Fix missing ByteData:clone and DataView:clone implementations.

Fixes #1754
Alex Szpakowski 3 years ago
parent
commit
ebd5f13456
2 changed files with 23 additions and 1 deletions
  1. 11 0
      src/modules/data/wrap_ByteData.cpp
  2. 12 1
      src/modules/data/wrap_DataView.cpp

+ 11 - 0
src/modules/data/wrap_ByteData.cpp

@@ -31,8 +31,19 @@ ByteData *luax_checkbytedata(lua_State *L, int idx)
 	return luax_checktype<ByteData>(L, idx);
 }
 
+int w_ByteData_clone(lua_State *L)
+{
+	ByteData *t = luax_checkbytedata(L, 1);
+	ByteData *c = nullptr;
+	luax_catchexcept(L, [&](){ c = t->clone(); });
+	luax_pushtype(L, c);
+	c->release();
+	return 1;
+}
+
 static const luaL_Reg w_ByteData_functions[] =
 {
+	{ "clone", w_ByteData_clone },
 	{ 0, 0 }
 };
 

+ 12 - 1
src/modules/data/wrap_DataView.cpp

@@ -26,13 +26,24 @@ namespace love
 namespace data
 {
 
-DataView *luax_checkdataView(lua_State *L, int idx)
+DataView *luax_checkdataview(lua_State *L, int idx)
 {
 	return luax_checktype<DataView>(L, idx);
 }
 
+int w_DataView_clone(lua_State *L)
+{
+	DataView *t = luax_checkdataview(L, 1);
+	DataView *c = nullptr;
+	luax_catchexcept(L, [&](){ c = t->clone(); });
+	luax_pushtype(L, c);
+	c->release();
+	return 1;
+}
+
 static const luaL_Reg w_DataView_functions[] =
 {
+	{ "clone", w_DataView_clone },
 	{ 0, 0 }
 };