diff options
Diffstat (limited to 'apps/plugins/lua/lfunc.c')
-rw-r--r-- | apps/plugins/lua/lfunc.c | 13 |
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); |