aboutsummaryrefslogtreecommitdiff
path: root/deep_test/deep_test.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--deep_test/deep_test.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/deep_test/deep_test.c b/deep_test/deep_test.c
index a725902..cb89741 100644
--- a/deep_test/deep_test.c
+++ b/deep_test/deep_test.c
@@ -1,5 +1,6 @@
1#include <malloc.h> 1#include <malloc.h>
2#include <memory.h> 2#include <memory.h>
3#include <assert.h>
3 4
4#include "lua.h" 5#include "lua.h"
5#include "lualib.h" 6#include "lualib.h"
@@ -196,18 +197,12 @@ static int clonable_lanesclone( lua_State* L)
196{ 197{
197 switch( lua_gettop( L)) 198 switch( lua_gettop( L))
198 { 199 {
199 case 1: 200 case 3:
200 {
201 // in case we need it to compute the amount of memory we need
202 struct s_MyClonableUserdata* self = lua_touserdata( L, 1);
203 lua_pushinteger( L, sizeof( struct s_MyClonableUserdata));
204 }
205 return 1;
206
207 case 2:
208 { 201 {
209 struct s_MyClonableUserdata* self = lua_touserdata( L, 1); 202 struct s_MyClonableUserdata* self = lua_touserdata( L, 1);
210 struct s_MyClonableUserdata* from = lua_touserdata( L, 2); 203 struct s_MyClonableUserdata* from = lua_touserdata( L, 2);
204 size_t len = lua_tointeger( L, 3);
205 assert( len == sizeof(struct s_MyClonableUserdata));
211 *self = *from; 206 *self = *from;
212 } 207 }
213 return 0; 208 return 0;