diff options
| author | ruki <[email protected]> | 2019-10-29 22:42:19 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-10-29 10:13:54 +0800 |
| commit | 0ad553e46eb001448cf5acac7ba6d26a11e39eff (patch) | |
| tree | b1c8bf9fe95ec38ac7048d74970f90380b7b66d8 /core/src | |
| parent | b2a507bc82fefb561c386f4910ba223abed20e1e (diff) | |
fix socket_recv
Diffstat (limited to 'core/src')
| -rw-r--r-- | core/src/xmake/io/socket_recv.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/src/xmake/io/socket_recv.c b/core/src/xmake/io/socket_recv.c index 162e36c1d..dce4da277 100644 --- a/core/src/xmake/io/socket_recv.c +++ b/core/src/xmake/io/socket_recv.c @@ -65,6 +65,9 @@ tb_int_t xm_io_socket_recv(lua_State* lua) if (size > sizeof(data)) size = sizeof(data); + // get the previous data and size first + size_t prev_size = 0; + tb_char_t const* prev_data = luaL_optlstring(lua, 3, "", &prev_size); // recv data tb_long_t real = tb_socket_recv(sock, data, size); @@ -75,9 +78,7 @@ tb_int_t xm_io_socket_recv(lua_State* lua) luaL_Buffer result; luaL_buffinit(lua, &result); - // prepend the previous data and size first - size_t prev_size = 0; - tb_char_t const* prev_data = luaL_optlstring(lua, 3, "", &prev_size); + // prepend the previous data if (prev_data && prev_size) luaL_addlstring(&result, prev_data, prev_size); luaL_addlstring(&result, (tb_char_t const*)data, real); |
