misc/liblua/lapi.c
changeset 3697 d5b30d6373fc
parent 2812 0a24853de796
child 10017 de822cd3df3a
equal deleted inserted replaced
3695:c11abf387a7d 3697:d5b30d6373fc
   209   api_checknelems(L, 1);
   209   api_checknelems(L, 1);
   210   o = index2adr(L, idx);
   210   o = index2adr(L, idx);
   211   api_checkvalidindex(L, o);
   211   api_checkvalidindex(L, o);
   212   if (idx == LUA_ENVIRONINDEX) {
   212   if (idx == LUA_ENVIRONINDEX) {
   213     Closure *func = curr_func(L);
   213     Closure *func = curr_func(L);
   214     api_check(L, ttistable(L->top - 1)); 
   214     api_check(L, ttistable(L->top - 1));
   215     func->c.env = hvalue(L->top - 1);
   215     func->c.env = hvalue(L->top - 1);
   216     luaC_barrier(L, func, L->top - 1);
   216     luaC_barrier(L, func, L->top - 1);
   217   }
   217   }
   218   else {
   218   else {
   219     setobj(L, o, L->top - 1);
   219     setobj(L, o, L->top - 1);
   769     { if (nres == LUA_MULTRET && L->top >= L->ci->top) L->ci->top = L->top; }
   769     { if (nres == LUA_MULTRET && L->top >= L->ci->top) L->ci->top = L->top; }
   770 
   770 
   771 
   771 
   772 #define checkresults(L,na,nr) \
   772 #define checkresults(L,na,nr) \
   773      api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)))
   773      api_check(L, (nr) == LUA_MULTRET || (L->ci->top - L->top >= (nr) - (na)))
   774 	
   774 
   775 
   775 
   776 LUA_API void lua_call (lua_State *L, int nargs, int nresults) {
   776 LUA_API void lua_call (lua_State *L, int nargs, int nresults) {
   777   StkId func;
   777   StkId func;
   778   lua_lock(L);
   778   lua_lock(L);
   779   api_checknelems(L, nargs+1);
   779   api_checknelems(L, nargs+1);