[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Large number bytecode weirdness on different platforms
- From: Rici Lake <lua@...>
- Date: Mon, 29 Jan 2007 17:50:47 -0500
On 29-Jan-07, at 5:37 PM, Glenn Maynard wrote:
On Mon, Jan 29, 2007 at 11:12:47PM +0100, Mike Pall wrote:
MSVCRT is (still) not C99 compliant and cannot parse hex
floating-point numbers with strtod(). So the fallback with
strtoul() kicks in and (obviously) fails for hex numbers which do
not fit into a long (32 bit on WIN32). Complain to M$.
Doesn't Lua avoid depending on C99 features?
Yes, and it doesn't support C99 hex floats. However, it doesn't prevent
tonumber() working on them if they happen to be implemented.
I suppose the manual should say that Lua accepts hexadecimal integer
constants *up to an implementation-defined limit*.
(Saying "complain to MS" is equivalent to saying "I don't care about
Windows", since it's known that complaining to Microsoft isn't going
to do anything. You're entitled to your priorities, but I hope Windows
is a higher priority than that for Lua. :)
Microsoft has said, more or less, that it will implement those features
of C99 that people ask for. So I'd say it's worth asking for them. If
you believe that MS doesn't listen to customers, then you have an even
lower opinion of them than I do :)