mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
@@ -327,6 +327,7 @@ append_one(struct bson *bs, lua_State *L, const char *key, size_t sz, int depth)
|
|||||||
case LUA_TNUMBER:
|
case LUA_TNUMBER:
|
||||||
append_number(bs, L, key, sz);
|
append_number(bs, L, key, sz);
|
||||||
break;
|
break;
|
||||||
|
case LUA_TLIGHTUSERDATA:
|
||||||
case LUA_TUSERDATA: {
|
case LUA_TUSERDATA: {
|
||||||
append_key(bs, L, BSON_DOCUMENT, key, sz);
|
append_key(bs, L, BSON_DOCUMENT, key, sz);
|
||||||
int32_t * doc = (int32_t*)lua_touserdata(L,-1);
|
int32_t * doc = (int32_t*)lua_touserdata(L,-1);
|
||||||
@@ -978,6 +979,13 @@ lencode(lua_State *L) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
lto_lightuserdata(lua_State *L) {
|
||||||
|
void *p = lua_touserdata(L, 1);
|
||||||
|
lua_pushlightuserdata(L, p);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
encode_bson_byorder(lua_State *L) {
|
encode_bson_byorder(lua_State *L) {
|
||||||
int n = lua_gettop(L);
|
int n = lua_gettop(L);
|
||||||
@@ -1340,6 +1348,7 @@ luaopen_bson(lua_State *L) {
|
|||||||
{ "objectid", lobjectid },
|
{ "objectid", lobjectid },
|
||||||
{ "int64", lint64 },
|
{ "int64", lint64 },
|
||||||
{ "decode", ldecode },
|
{ "decode", ldecode },
|
||||||
|
{ "to_lightuserdata", lto_lightuserdata },
|
||||||
{ NULL, NULL },
|
{ NULL, NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user