lua-users home
lua-l archive

Re: Question about luaM_reallocv in lmem.h

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


 Thank you once again, Mike. Another very helpful response from
you. I'm starting to get used to it :)
 All the best,
 Bogdan M.
On 2005年3月14日 18:03:49 +0100, Mike Pall <mikelu-0503@mike.de> wrote:
> Hi,
> 
> Bogdan Marinescu wrote:
> > While trying to port lua to an embedded 16-bit platform, the
> > compiler warns me that the comparison in luaM_reallocv is always true:
> 
> The same occurs on 64 bit platforms. I've already reported this to
> Roberto for Lua 5.1-work4.
> 
> Below is a patch to silence the compiler (and to optimize the conditional
> away when it's not needed).
> 
> Bye,
> Mike
> 
> --- lua-5.1-work5/src/lmem.h 2004年12月01日 16:46:18.000000000 +0100
> +++ lua-5.1-work5-lmemfix/src/lmem.h 2005年03月06日 22:57:13.019119208 +0100
> @@ -21,7 +21,8 @@
> void *luaM_toobig (lua_State *L);
> 
> #define luaM_reallocv(L,b,on,n,e) \
> - ((cast(unsigned int, (n)+1) <= MAX_SIZET/(e)) ? /* +1 to avoid warnings */ \
> + (((sizeof(unsigned int) < sizeof(size_t) ? 0 : cast(unsigned int, (n)+1)) \
> + <= MAX_SIZET/(e)) ? /* to avoid warnings */ \
> luaM_realloc_(L, (b), (on)*(e), (n)*(e)) : \
> luaM_toobig(L))
> 
> 
-- 
Bogdan

AltStyle によって変換されたページ (->オリジナル) /