summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorruki <[email protected]>2020-02-21 23:08:51 +0800
committerruki <[email protected]>2020-02-21 12:53:10 +0800
commit32d13d55ec9bbb2e777576dd0aed4b12a5efce6a (patch)
treeb5077ec321929c6b2f3eab648ef09fd9a35d199b /core/src
parentfd8bb4f1d42f6ef6c37bda226492befe267d8a36 (diff)
improve os.strerror
Diffstat (limited to 'core/src')
m---------core/src/tbox/tbox0
-rw-r--r--core/src/xmake/os/strerror.c18
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