diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-02-27 17:01:55 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-02-27 17:01:55 -0300 |
commit | fbea553ca291eb2f8a7bbd361403639af52fac96 (patch) | |
tree | f34fba36b8c03489ef68a5e4541ac6964f60b595 /lapi.c | |
parent | 34b00c16e28c2bbc3e633b4007de956130905ed6 (diff) | |
download | lua-fbea553ca291eb2f8a7bbd361403639af52fac96.tar.gz lua-fbea553ca291eb2f8a7bbd361403639af52fac96.tar.bz2 lua-fbea553ca291eb2f8a7bbd361403639af52fac96.zip |
'lua_setiuservalue' removes value from the stack even in case of error
Diffstat (limited to 'lapi.c')
-rw-r--r-- | lapi.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lapi.c,v 2.288 2018/02/26 14:16:05 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.289 2018/02/27 17:48:28 roberto Exp roberto $ |
3 | ** Lua API | 3 | ** Lua API |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -953,9 +953,9 @@ LUA_API int lua_setiuservalue (lua_State *L, int idx, int n) { | |||
953 | else { | 953 | else { |
954 | setobj(L, &uvalue(o)->uv[n - 1].uv, s2v(L->top - 1)); | 954 | setobj(L, &uvalue(o)->uv[n - 1].uv, s2v(L->top - 1)); |
955 | luaC_barrierback(L, gcvalue(o), s2v(L->top - 1)); | 955 | luaC_barrierback(L, gcvalue(o), s2v(L->top - 1)); |
956 | L->top--; | ||
957 | res = 1; | 956 | res = 1; |
958 | } | 957 | } |
958 | L->top--; | ||
959 | lua_unlock(L); | 959 | lua_unlock(L); |
960 | return res; | 960 | return res; |
961 | } | 961 | } |