diff options
| author | ruki <[email protected]> | 2020-02-21 23:08:51 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2020-02-21 12:53:10 +0800 |
| commit | 32d13d55ec9bbb2e777576dd0aed4b12a5efce6a (patch) | |
| tree | b5077ec321929c6b2f3eab648ef09fd9a35d199b /core/src | |
| parent | fd8bb4f1d42f6ef6c37bda226492befe267d8a36 (diff) | |
improve os.strerror
Diffstat (limited to 'core/src')
| m--------- | core/src/tbox/tbox | 0 | ||||
| -rw-r--r-- | core/src/xmake/os/strerror.c | 18 |
2 files changed, 16 insertions, 2 deletions
diff --git a/core/src/tbox/tbox b/core/src/tbox/tbox -Subproject 14b85615dda8a1daf8abdef8883627be6432e86 +Subproject 6e6a0e8e766318708e3a2438ff6a9af7d8439e5 diff --git a/core/src/xmake/os/strerror.c b/core/src/xmake/os/strerror.c index 1a88546ec..2985d28de 100644 --- a/core/src/xmake/os/strerror.c +++ b/core/src/xmake/os/strerror.c @@ -45,11 +45,25 @@ tb_int_t xm_os_strerror(lua_State* lua) // get syserror state tb_size_t syserror = tb_syserror_state(); if (syserror != TB_STATE_SYSERROR_UNKNOWN_ERROR) - lua_pushstring(lua, tb_state_cstr(syserror)); + { + tb_char_t const* strerr = "Unknown"; + switch (syserror) + { + case TB_STATE_SYSERROR_NOT_PERM: + strerr = "Permission denied"; + break; + case TB_STATE_SYSERROR_NOT_FILEDIR: + strerr = "No such file or directory"; + break; + default: + break; + } + lua_pushstring(lua, strerr); + } else { #if defined(TB_CONFIG_OS_WINDOWS) && !defined(TB_COMPILER_LIKE_UNIX) - lua_pushstring(lua, tb_state_cstr(syserror)); + lua_pushstring(lua, "Unknown"); #else lua_pushstring(lua, strerror(errno)); #endif |
