summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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