MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / luaU_undump

Function luaU_undump

third-party/lua-5.2.4/src/lundump.c:206–233  ·  view source on GitHub ↗

** load precompiled chunk */

Source from the content-addressed store, hash-verified

204** load precompiled chunk
205*/
206Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name)
207{
208 LoadState S;
209 Closure* cl;
210 if (*name=='@' || *name=='=')
211 S.name=name+1;
212 else if (*name==LUA_SIGNATURE[0])
213 S.name="binary string";
214 else
215 S.name=name;
216 S.L=L;
217 S.Z=Z;
218 S.b=buff;
219 LoadHeader(&S);
220 cl=luaF_newLclosure(L,1);
221 setclLvalue(L,L->top,cl); incr_top(L);
222 cl->l.p=luaF_newproto(L);
223 LoadFunction(&S,cl->l.p);
224 if (cl->l.p->sizeupvalues != 1)
225 {
226 Proto* p=cl->l.p;
227 cl=luaF_newLclosure(L,cl->l.p->sizeupvalues);
228 cl->l.p=p;
229 setclLvalue(L,L->top-1,cl);
230 }
231 luai_verifycode(L,buff,cl->l.p);
232 return cl;
233}
234
235#define MYINT(s) (s[0]-'0')
236#define VERSION MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)

Callers 1

f_parserFunction · 0.70

Calls 4

LoadHeaderFunction · 0.70
luaF_newLclosureFunction · 0.70
luaF_newprotoFunction · 0.70
LoadFunctionFunction · 0.70

Tested by

no test coverage detected