diff options
| author | TitanSnow <[email protected]> | 2017-05-23 07:57:13 +0800 |
|---|---|---|
| committer | TitanSnow <[email protected]> | 2017-05-23 07:57:13 +0800 |
| commit | c78a2867af7dca124aecbd56ecf6e0490b2a78c9 (patch) | |
| tree | 0798b130b1f7e69558bd1c6b1eee388fb2d0c740 /core/src | |
| parent | ce5c4be20bb79418ec63b705952e3ef383b130eb (diff) | |
do not set if no param
Diffstat (limited to 'core/src')
| -rw-r--r-- | core/src/xmake/os/gid.c | 11 | ||||
| -rw-r--r-- | core/src/xmake/os/uid.c | 11 |
2 files changed, 14 insertions, 8 deletions
diff --git a/core/src/xmake/os/gid.c b/core/src/xmake/os/gid.c index e3506514d..7d949ebc6 100644 --- a/core/src/xmake/os/gid.c +++ b/core/src/xmake/os/gid.c @@ -123,10 +123,13 @@ tb_int_t xm_os_gid(lua_State* lua) // store return value lua_newtable(lua); - // set rgid & egid - lua_pushstring(lua, "errno"); - lua_pushinteger(lua, setregid(rgidset, egidset) != 0 ? errno : 0); - lua_settable(lua, -3); + if (rgidset != -1 || egidset != -1) + { + // set rgid & egid + lua_pushstring(lua, "errno"); + lua_pushinteger(lua, setregid(rgidset, egidset) != 0 ? errno : 0); + lua_settable(lua, -3); + } // get gid & egid gid_t gid = getgid(), egid = getegid(); diff --git a/core/src/xmake/os/uid.c b/core/src/xmake/os/uid.c index 2c173b868..4bcc9d122 100644 --- a/core/src/xmake/os/uid.c +++ b/core/src/xmake/os/uid.c @@ -123,10 +123,13 @@ tb_int_t xm_os_uid(lua_State* lua) // store return value lua_newtable(lua); - // set ruid & euid - lua_pushstring(lua, "errno"); - lua_pushinteger(lua, setreuid(ruidset, euidset) != 0 ? errno : 0); - lua_settable(lua, -3); + if (ruidset != -1 || euidset != -1) + { + // set ruid & euid + lua_pushstring(lua, "errno"); + lua_pushinteger(lua, setreuid(ruidset, euidset) != 0 ? errno : 0); + lua_settable(lua, -3); + } // get uid & euid uid_t uid = getuid(), euid = geteuid(); |
