mirror of
https://github.com/lua/lua.git
synced 2026-06-07 23:53:48 +00:00
'lua_load' does not preserve the stack through the calls to the reader function, as it should. Immediately after the first call (to detect whether chunk is binary) it adds stuff, and it also adds a new table when starting the compilation of each new function.
41 lines
904 B
C
41 lines
904 B
C
/*
|
|
** $Id: lundump.h $
|
|
** load precompiled Lua chunks
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
|
|
#ifndef lundump_h
|
|
#define lundump_h
|
|
|
|
#include <limits.h>
|
|
|
|
#include "llimits.h"
|
|
#include "lobject.h"
|
|
#include "lzio.h"
|
|
|
|
|
|
/* data to catch conversion errors */
|
|
#define LUAC_DATA "\x19\x93\r\n\x1a\n"
|
|
|
|
#define LUAC_INT -0x5678
|
|
#define LUAC_INST 0x12345678
|
|
#define LUAC_NUM cast_num(-370.5)
|
|
|
|
/*
|
|
** Encode major-minor version in one byte, one nibble for each
|
|
*/
|
|
#define LUAC_VERSION (LUA_VERSION_MAJOR_N*16+LUA_VERSION_MINOR_N)
|
|
|
|
#define LUAC_FORMAT 0 /* this is the official format */
|
|
|
|
|
|
/* load one chunk; from lundump.c */
|
|
LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, Table *anchor,
|
|
const char* name, int fixed);
|
|
|
|
/* dump one chunk; from ldump.c */
|
|
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
|
|
void* data, int strip);
|
|
|
|
#endif
|