From 868450acbb14b1bf5cd2da7b1b09a195e88a6bd5 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 21 Feb 2020 22:47:02 +0800 Subject: improve strerror and os --- core/src/tbox/tbox | 2 +- core/src/xmake/os/cpfile.c | 4 +--- core/src/xmake/os/strerror.c | 20 +++++++++++--------- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'core/src') diff --git a/core/src/tbox/tbox b/core/src/tbox/tbox index 37ba0093d..14b85615d 160000 --- a/core/src/tbox/tbox +++ b/core/src/tbox/tbox @@ -1 +1 @@ -Subproject commit 37ba0093d152b0d892925aee0e0d7b2ea66360ca +Subproject commit 14b85615dda8a1daf8abdef8883627be6432e86d diff --git a/core/src/xmake/os/cpfile.c b/core/src/xmake/os/cpfile.c index e896c1136..b3aa56f4d 100644 --- a/core/src/xmake/os/cpfile.c +++ b/core/src/xmake/os/cpfile.c @@ -43,9 +43,7 @@ tb_int_t xm_os_cpfile(lua_State* lua) tb_char_t const* dst = luaL_checkstring(lua, 2); tb_check_return_val(src && dst, 0); - // done os.cpfile(src, dst) + // do copy lua_pushboolean(lua, tb_file_copy(src, dst)); - - // ok return 1; } diff --git a/core/src/xmake/os/strerror.c b/core/src/xmake/os/strerror.c index 399f0dedd..1a88546ec 100644 --- a/core/src/xmake/os/strerror.c +++ b/core/src/xmake/os/strerror.c @@ -29,9 +29,7 @@ * includes */ #include "prefix.h" -#ifdef TB_CONFIG_OS_WINDOWS -# include -#else +#if !defined(TB_CONFIG_OS_WINDOWS) || defined(TB_COMPILER_LIKE_UNIX) # include # include #endif @@ -44,13 +42,17 @@ tb_int_t xm_os_strerror(lua_State* lua) // check tb_assert_and_check_return_val(lua, 0); - // done os.strerror() -#ifdef TB_CONFIG_OS_WINDOWS - lua_pushstring(lua, tb_state_cstr(tb_syserror_state())); + // get syserror state + tb_size_t syserror = tb_syserror_state(); + if (syserror != TB_STATE_SYSERROR_UNKNOWN_ERROR) + lua_pushstring(lua, tb_state_cstr(syserror)); + else + { +#if defined(TB_CONFIG_OS_WINDOWS) && !defined(TB_COMPILER_LIKE_UNIX) + lua_pushstring(lua, tb_state_cstr(syserror)); #else - lua_pushstring(lua, strerror(errno)); + lua_pushstring(lua, strerror(errno)); #endif - - // ok + } return 1; } -- cgit v1.3.1