|
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 :)