summaryrefslogtreecommitdiff
path: root/apps/plugins/lua/lfunc.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lua/lfunc.c')
-rw-r--r--apps/plugins/lua/lfunc.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/plugins/lua/lfunc.c b/apps/plugins/lua/lfunc.c
index d2ce63dc4b..ef275cecd2 100644
--- a/apps/plugins/lua/lfunc.c
+++ b/apps/plugins/lua/lfunc.c
@@ -128,12 +128,17 @@ Proto *luaF_newproto (lua_State *L) {
128 f->numparams = 0; 128 f->numparams = 0;
129 f->is_vararg = 0; 129 f->is_vararg = 0;
130 f->maxstacksize = 0; 130 f->maxstacksize = 0;
131 f->lineinfo = NULL;
132 f->sizelocvars = 0; 131 f->sizelocvars = 0;
133 f->locvars = NULL; 132 f->locvars = NULL;
134 f->linedefined = 0; 133 f->linedefined = 0;
135 f->lastlinedefined = 0; 134 f->lastlinedefined = 0;
136 f->source = NULL; 135 f->source = NULL;
136#ifdef LUA_OPTIMIZE_DEBUG
137 f->packedlineinfo = NULL;
138#else
139 f->lineinfo = NULL;
140
141#endif
137 return f; 142 return f;
138} 143}
139 144
@@ -142,7 +147,13 @@ void luaF_freeproto (lua_State *L, Proto *f) {
142 luaM_freearray(L, f->code, f->sizecode, Instruction); 147 luaM_freearray(L, f->code, f->sizecode, Instruction);
143 luaM_freearray(L, f->p, f->sizep, Proto *); 148 luaM_freearray(L, f->p, f->sizep, Proto *);
144 luaM_freearray(L, f->k, f->sizek, TValue); 149 luaM_freearray(L, f->k, f->sizek, TValue);
150#ifdef LUA_OPTIMIZE_DEBUG
151 if (f->packedlineinfo) {
152 luaM_freearray(L, f->packedlineinfo, f->sizelineinfo, unsigned char);
153 }
154#else
145 luaM_freearray(L, f->lineinfo, f->sizelineinfo, int); 155 luaM_freearray(L, f->lineinfo, f->sizelineinfo, int);
156#endif
146 luaM_freearray(L, f->locvars, f->sizelocvars, struct LocVar); 157 luaM_freearray(L, f->locvars, f->sizelocvars, struct LocVar);
147 luaM_freearray(L, f->upvalues, f->sizeupvalues, TString *); 158 luaM_freearray(L, f->upvalues, f->sizeupvalues, TString *);
148 luaM_free(L, f); 159 luaM_free(L, f);