summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/xmake/os/args.c2
-rw-r--r--tests/modules/os/test.lua2
2 files changed, 3 insertions, 1 deletions
diff --git a/core/src/xmake/os/args.c b/core/src/xmake/os/args.c
index 567d70d30..0f907bb8a 100644
--- a/core/src/xmake/os/args.c
+++ b/core/src/xmake/os/args.c
@@ -120,7 +120,7 @@ tb_int_t xm_os_args(lua_State* lua)
// return result
tb_size_t size = tb_string_size(&result);
if (size) lua_pushlstring(lua, tb_string_cstr(&result), size);
- else lua_pushnil(lua);
+ else lua_pushliteral(lua, "");
tb_string_exit(&result);
return 1;
}
diff --git a/tests/modules/os/test.lua b/tests/modules/os/test.lua
index 2f008edd0..02d027e25 100644
--- a/tests/modules/os/test.lua
+++ b/tests/modules/os/test.lua
@@ -62,6 +62,7 @@ function test_setenv(t)
end
function test_argv(t)
+ t:are_equal(os.argv(""), {})
t:are_equal(os.argv("aa bb cc"), {"aa", "bb", "cc"})
t:are_equal(os.argv("aa --bb=bbb -c"), {"aa", "--bb=bbb", "-c"})
t:are_equal(os.argv("\"aa bb cc\" dd"), {"aa bb cc", "dd"})
@@ -73,6 +74,7 @@ function test_argv(t)
end
function test_args(t)
+ t:are_equal(os.args({}), "")
t:are_equal(os.args({"aa", "bb", "cc"}), "aa bb cc")
t:are_equal(os.args({"aa", "--bb=bbb", "-c"}), "aa --bb=bbb -c")
t:are_equal(os.args({"aa bb cc", "dd"}), "\"aa bb cc\" dd")