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 *); |
