lua-users home
lua-l archive

Re: [SOLVED] Re: and/or missbehaviour in embedded lua 5.1

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


On Fri, Mar 17, 2006 at 01:07:59PM +0000, Lisa Parratt wrote:
> >Ok, this is a serious bug in Lua 5.1. It's only visible if
> >sizeof(int)*2 < sizeof(lua_Number). I.e. it probably only affects
> >16 bit CPUs with lua_Number defined as a double.
> 
> ITYM 16 bit CPUs with out of spec C compilers ;) int *should* be 32 
> bits, regardless of the architecture.
"int" is still allowed to be 16 bits in C99. The minimum magnitues
from section 5.2.4.2.1 (and Annex E):
 #define INT_MAX +32767
 #define INT_MIN -32767
If you need a guarantee of at least 32 bits, you have to use long or
perhaps better yet one of the sized typedefs such as int_least32_t.
 -Dave Dodge

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