lunpack optimize, do not unpack twice if r <= osz

This commit is contained in:
sanikoyes
2015-07-09 18:07:32 +08:00
parent 86bbc9c701
commit ea2437e138

View File

@@ -487,10 +487,10 @@ lunpack(lua_State *L) {
return luaL_error(L, "Invalid unpack stream");
if (r > osz) {
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);
return 1;
}