| 875 | |
| 876 | |
| 877 | LUA_API void lua_seti (lua_State *L, int idx, lua_Integer n) { |
| 878 | TValue *t; |
| 879 | const TValue *slot; |
| 880 | lua_lock(L); |
| 881 | api_checknelems(L, 1); |
| 882 | t = index2value(L, idx); |
| 883 | if (luaV_fastgeti(L, t, n, slot)) { |
| 884 | luaV_finishfastset(L, t, slot, s2v(L->top.p - 1)); |
| 885 | } |
| 886 | else { |
| 887 | TValue aux; |
| 888 | setivalue(&aux, n); |
| 889 | luaV_finishset(L, t, &aux, s2v(L->top.p - 1), slot); |
| 890 | } |
| 891 | L->top.p--; /* pop value */ |
| 892 | lua_unlock(L); |
| 893 | } |
| 894 | |
| 895 | |
| 896 | static void aux_rawset (lua_State *L, int idx, TValue *key, int n) { |