summaryrefslogtreecommitdiff
path: root/gtest
diff options
context:
space:
mode:
author“pengxuanzheng” <[email protected]>2022-07-08 05:54:40 +0000
committer“pengxuanzheng” <[email protected]>2022-07-12 07:28:14 +0000
commitd232643ada60cb3c2ec495c0009460470c14ed8c (patch)
treeb6ba6b6693fd9f8bb1e962e412aaaa543569a945 /gtest
parentb19d688c161dacfd4a48a12970a5185c4c1b6437 (diff)
🐞 fix(TSG-11123): 修复c_pull_param_from_lua 段错误
Diffstat (limited to 'gtest')
-rw-r--r--gtest/gtest_tsg_lua_register_function.cpp8
-rw-r--r--gtest/script/call_cfunction.lua2
2 files changed, 5 insertions, 5 deletions
diff --git a/gtest/gtest_tsg_lua_register_function.cpp b/gtest/gtest_tsg_lua_register_function.cpp
index 9612dd1..e3388de 100644
--- a/gtest/gtest_tsg_lua_register_function.cpp
+++ b/gtest/gtest_tsg_lua_register_function.cpp
@@ -18,17 +18,17 @@ int set_world(tsg_lua_handle L)
lua_arg_t *argv = NULL;
c_pull_param_from_lua(L, &argc, &argv);
- if (argc != 1 || argv == NULL || argv[0].type != STRING)
+ if (argc != 2 || argv == NULL || argv[0].type != STRING || argv[1].type != STRING)
{
return 0;
}
- char *buff = (char *)calloc(1, argv[0].len + strlen(" world.") + 1);
- sprintf(buff, "%s%s", argv[0].str, " world.");
+ char *buff = (char *)calloc(2, argv[0].len + argv[1].len + 3);
+ sprintf(buff, "%s %s.", argv[0].str, argv[1].str);
c_push_string_into_lua(L, buff, strlen(buff));
free(buff);
buff = NULL;
- free_param_form_lua(argc, &argv);
+ free_param_form_lua(argc, argv);
return 1;
}
diff --git a/gtest/script/call_cfunction.lua b/gtest/script/call_cfunction.lua
index 4315297..641bcae 100644
--- a/gtest/script/call_cfunction.lua
+++ b/gtest/script/call_cfunction.lua
@@ -2,5 +2,5 @@ local data = TSG.data
local str = TSG.get.get_hello()
-local ret = TSG.set.set_world(str)
+local ret = TSG.set.set_world(str, "world")
return string.len(ret), ret \ No newline at end of file