| 484 | |
| 485 | |
| 486 | LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) { |
| 487 | Closure *cl; |
| 488 | lua_lock(L); |
| 489 | luaC_checkGC(L); |
| 490 | api_checknelems(L, n); |
| 491 | cl = luaF_newCclosure(L, n, getcurrenv(L)); |
| 492 | cl->c.f = fn; |
| 493 | L->top -= n; |
| 494 | while (n--) |
| 495 | setobj2n(L, &cl->c.upvalue[n], L->top+n); |
| 496 | setclvalue(L, L->top, cl); |
| 497 | lua_assert(iswhite(obj2gco(cl))); |
| 498 | api_incr_top(L); |
| 499 | lua_unlock(L); |
| 500 | } |
| 501 | |
| 502 | |
| 503 | LUA_API void lua_pushboolean (lua_State *L, int b) { |
no test coverage detected