mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-25 12:43:09 +00:00
lunpack optimize, do not unpack twice if r <= osz
This commit is contained in:
@@ -487,10 +487,10 @@ lunpack(lua_State *L) {
|
|||||||
return luaL_error(L, "Invalid unpack stream");
|
return luaL_error(L, "Invalid unpack stream");
|
||||||
if (r > osz) {
|
if (r > osz) {
|
||||||
output = expand_buffer(L, osz, r);
|
output = expand_buffer(L, osz, r);
|
||||||
|
r = sproto_unpack(buffer, sz, output, r);
|
||||||
|
if (r < 0)
|
||||||
|
return luaL_error(L, "Invalid unpack stream");
|
||||||
}
|
}
|
||||||
r = sproto_unpack(buffer, sz, output, r);
|
|
||||||
if (r < 0)
|
|
||||||
return luaL_error(L, "Invalid unpack stream");
|
|
||||||
lua_pushlstring(L, output, r);
|
lua_pushlstring(L, output, r);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user