[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: In Lua 5.3 -- why were string.[un]pack(int|float)() added?
- From: Coroutines <coroutines@...>
- Date: Sat, 19 Apr 2014 14:28:54 -0700
On Sat, Apr 19, 2014 at 1:49 PM, Sean Conner <sean@conman.org> wrote:
> You could always code it up and hope it gets adopted.
I haven't tested but I think it would look like this?
int debug_userdump(lua_State *L)
{
luaL_Buffer b;
char * ud;
size_t ud_size;
luaL_argcheck(L, t == LUA_TUSERDATA || t == LUA_TLIGHTUSERDATA, 1,
"userdata expected");
lua_settop(L, 1); /* string.dump() does this */
ud = lua_touserdata(L, 1);
ud_size = lua_rawlen(L, 1);
/* we copy the "reference" itself if lightuserdata */
if (lua_islightuserdata(L, 1))
ud = (char *) &ud;
/* allocate for the whole userdata in 1 go */
luaL_prepbuffsize(b, ud_size);
luaL_addlstring(b, ud, ud_size);
luaL_pushresult(b);
return 1;
}
> -spc (So how do you transfer a string.dump()ed function from x86 to ARM?)
There would definitely be limitations -- I imagined this for
transferring data between lua states on the same platform, though.
+1 for ASCII85! :D