diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-10-16 17:40:58 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2002-10-16 17:40:58 -0300 |
commit | c196348717dfda116726145220e5d1311547980e (patch) | |
tree | 83149c29559b888eed7a28e5f1558a67a912cf90 /lfunc.c | |
parent | 669129a6d8210e758ba94ea2786a370946572f7d (diff) | |
download | lua-c196348717dfda116726145220e5d1311547980e.tar.gz lua-c196348717dfda116726145220e5d1311547980e.tar.bz2 lua-c196348717dfda116726145220e5d1311547980e.zip |
in case of memory allocation errors, sizecode and sizelineinfo can
be different
Diffstat (limited to 'lfunc.c')
-rw-r--r-- | lfunc.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lfunc.c,v 1.58 2002/08/16 14:45:55 roberto Exp roberto $ | 2 | ** $Id: lfunc.c,v 1.59 2002/08/30 19:09:21 roberto Exp roberto $ |
3 | ** Auxiliary functions to manipulate prototypes and closures | 3 | ** Auxiliary functions to manipulate prototypes and closures |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -80,6 +80,7 @@ Proto *luaF_newproto (lua_State *L) { | |||
80 | f->sizep = 0; | 80 | f->sizep = 0; |
81 | f->code = NULL; | 81 | f->code = NULL; |
82 | f->sizecode = 0; | 82 | f->sizecode = 0; |
83 | f->sizelineinfo = 0; | ||
83 | f->nupvalues = 0; | 84 | f->nupvalues = 0; |
84 | f->numparams = 0; | 85 | f->numparams = 0; |
85 | f->is_vararg = 0; | 86 | f->is_vararg = 0; |
@@ -95,8 +96,7 @@ Proto *luaF_newproto (lua_State *L) { | |||
95 | 96 | ||
96 | void luaF_freeproto (lua_State *L, Proto *f) { | 97 | void luaF_freeproto (lua_State *L, Proto *f) { |
97 | luaM_freearray(L, f->code, f->sizecode, Instruction); | 98 | luaM_freearray(L, f->code, f->sizecode, Instruction); |
98 | if (f->lineinfo) | 99 | luaM_freearray(L, f->lineinfo, f->sizelineinfo, int); |
99 | luaM_freearray(L, f->lineinfo, f->sizecode, int); | ||
100 | luaM_freearray(L, f->locvars, f->sizelocvars, struct LocVar); | 100 | luaM_freearray(L, f->locvars, f->sizelocvars, struct LocVar); |
101 | luaM_freearray(L, f->k, f->sizek, TObject); | 101 | luaM_freearray(L, f->k, f->sizek, TObject); |
102 | luaM_freearray(L, f->p, f->sizep, Proto *); | 102 | luaM_freearray(L, f->p, f->sizep, Proto *); |