summaryrefslogtreecommitdiff
path: root/core/src/xmake
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-21 22:55:32 +0800
committerruki <[email protected]>2020-02-21 11:33:16 +0800
commiteef01795e14276dac1f904217585b9c9208441dd (patch)
tree1b2da414855210669d30f7afb36ca99414ded1f7 /core/src/xmake
parent2ce8c14ab4cee3a5673aa24649196cb45dcc0426 (diff)
improve xmake lua and os.syserror
Diffstat (limited to 'core/src/xmake')
-rw-r--r--core/src/xmake/os/syserror.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/src/xmake/os/syserror.c b/core/src/xmake/os/syserror.c
index 9630bd3c8..2d2b5511c 100644
--- a/core/src/xmake/os/syserror.c
+++ b/core/src/xmake/os/syserror.c
@@ -39,7 +39,14 @@ tb_int_t xm_os_syserror(lua_State* lua)
tb_assert_and_check_return_val(lua, 0);
// get syserror state
+ tb_int_t err = 0;
tb_size_t syserror = tb_syserror_state();
- lua_pushinteger(lua, (tb_int_t)syserror);
+ switch (syserror)
+ {
+ case TB_STATE_SYSERROR_NOT_PERM: err = 1; break;
+ case TB_STATE_SYSERROR_NOT_FILEDIR: err = 2; break;
+ case TB_STATE_SYSERROR_UNKNOWN_ERROR: err = -1; break;
+ }
+ lua_pushinteger(lua, err);
return 1;
}