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