summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/xmake/io/socket_bind.c12
-rw-r--r--core/src/xmake/io/socket_connect.c12
2 files changed, 16 insertions, 8 deletions
diff --git a/core/src/xmake/io/socket_bind.c b/core/src/xmake/io/socket_bind.c
index 7a14040a6..9676d0600 100644
--- a/core/src/xmake/io/socket_bind.c
+++ b/core/src/xmake/io/socket_bind.c
@@ -40,9 +40,13 @@ tb_int_t xm_io_socket_bind(lua_State* lua)
// check
tb_assert_and_check_return_val(lua, 0);
- // is user data?
+ // check socket
if (!lua_isuserdata(lua, 1))
- return 0;
+ {
+ lua_pushboolean(lua, false);
+ lua_pushliteral(lua, "invalid socket!");
+ return 2;
+ }
// get socket
tb_socket_ref_t sock = (tb_socket_ref_t)lua_touserdata(lua, 1);
@@ -53,10 +57,10 @@ tb_int_t xm_io_socket_bind(lua_State* lua)
tb_assert_and_check_return_val(address, 0);
// get port
- tb_size_t port = (tb_size_t)luaL_checknumber(lua, 3);
+ tb_uint16_t port = (tb_uint16_t)luaL_checknumber(lua, 3);
// get family
- tb_size_t family = (tb_size_t)luaL_checknumber(lua, 4);
+ tb_uint8_t family = (tb_uint8_t)luaL_checknumber(lua, 4);
// init address
tb_ipaddr_t addr;
diff --git a/core/src/xmake/io/socket_connect.c b/core/src/xmake/io/socket_connect.c
index 5c8f81e5c..d758a9734 100644
--- a/core/src/xmake/io/socket_connect.c
+++ b/core/src/xmake/io/socket_connect.c
@@ -40,9 +40,13 @@ tb_int_t xm_io_socket_connect(lua_State* lua)
// check
tb_assert_and_check_return_val(lua, 0);
- // is user data?
+ // check socket
if (!lua_isuserdata(lua, 1))
- return 0;
+ {
+ lua_pushnumber(lua, -1);
+ lua_pushliteral(lua, "invalid socket!");
+ return 2;
+ }
// get socket
tb_socket_ref_t sock = (tb_socket_ref_t)lua_touserdata(lua, 1);
@@ -53,10 +57,10 @@ tb_int_t xm_io_socket_connect(lua_State* lua)
tb_assert_and_check_return_val(address, 0);
// get port
- tb_size_t port = (tb_size_t)luaL_checknumber(lua, 3);
+ tb_uint16_t port = (tb_uint16_t)luaL_checknumber(lua, 3);
// get family
- tb_size_t family = (tb_size_t)luaL_checknumber(lua, 4);
+ tb_uint8_t family = (tb_uint8_t)luaL_checknumber(lua, 4);
// init address
tb_ipaddr_t addr;