diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-11-15 12:04:53 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2024-11-15 12:04:53 -0300 |
commit | a4762b6ffe74f5878882ef238d37bfa92d90e418 (patch) | |
tree | 4f52a82641838a318e6270522d9e7f83ccab388d /lfunc.c | |
parent | d4247befa18a7911c56e7110154ad73574cd6648 (diff) | |
download | lua-a4762b6ffe74f5878882ef238d37bfa92d90e418.tar.gz lua-a4762b6ffe74f5878882ef238d37bfa92d90e418.tar.bz2 lua-a4762b6ffe74f5878882ef238d37bfa92d90e418.zip |
'objsize' returns 'l_mem'
Sums of size_t may not fit in a size_t.
Diffstat (limited to 'lfunc.c')
-rw-r--r-- | lfunc.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -264,16 +264,16 @@ Proto *luaF_newproto (lua_State *L) { | |||
264 | } | 264 | } |
265 | 265 | ||
266 | 266 | ||
267 | size_t luaF_protosize (Proto *p) { | 267 | lu_mem luaF_protosize (Proto *p) { |
268 | size_t sz = sizeof(Proto) | 268 | lu_mem sz = cast(lu_mem, sizeof(Proto)) |
269 | + cast_uint(p->sizep) * sizeof(Proto*) | 269 | + cast_uint(p->sizep) * sizeof(Proto*) |
270 | + cast_uint(p->sizek) * sizeof(TValue) | 270 | + cast_uint(p->sizek) * sizeof(TValue) |
271 | + cast_uint(p->sizelocvars) * sizeof(LocVar) | 271 | + cast_uint(p->sizelocvars) * sizeof(LocVar) |
272 | + cast_uint(p->sizeupvalues) * sizeof(Upvaldesc); | 272 | + cast_uint(p->sizeupvalues) * sizeof(Upvaldesc); |
273 | if (!(p->flag & PF_FIXED)) { | 273 | if (!(p->flag & PF_FIXED)) { |
274 | sz += cast_uint(p->sizecode) * sizeof(Instruction) | 274 | sz += cast_uint(p->sizecode) * sizeof(Instruction); |
275 | + cast_uint(p->sizelineinfo) * sizeof(lu_byte) | 275 | sz += cast_uint(p->sizelineinfo) * sizeof(lu_byte); |
276 | + cast_uint(p->sizeabslineinfo) * sizeof(AbsLineInfo); | 276 | sz += cast_uint(p->sizeabslineinfo) * sizeof(AbsLineInfo); |
277 | } | 277 | } |
278 | return sz; | 278 | return sz; |
279 | } | 279 | } |