** Load precompiled chunk. */
| 311 | ** Load precompiled chunk. |
| 312 | */ |
| 313 | LClosure *luaU_undump(lua_State *L, ZIO *Z, const char *name) { |
| 314 | LoadState S; |
| 315 | LClosure *cl; |
| 316 | if (*name == '@' || *name == '=') |
| 317 | S.name = name + 1; |
| 318 | else if (*name == LUA_SIGNATURE[0]) |
| 319 | S.name = "binary string"; |
| 320 | else |
| 321 | S.name = name; |
| 322 | S.L = L; |
| 323 | S.Z = Z; |
| 324 | checkHeader(&S); |
| 325 | cl = luaF_newLclosure(L, loadByte(&S)); |
| 326 | setclLvalue2s(L, L->top.p, cl); |
| 327 | luaD_inctop(L); |
| 328 | cl->p = luaF_newproto(L); |
| 329 | luaC_objbarrier(L, cl, cl->p); |
| 330 | loadFunction(&S, cl->p, NULL); |
| 331 | lua_assert(cl->nupvalues == cl->p->sizeupvalues); |
| 332 | luai_verifycode(L, cl->p); |
| 333 | return cl; |
| 334 | } |
| 335 |
no test coverage detected