[erlang-patches] unix/sys_float.c mishandles errno
Thu Jan 24 10:35:40 CET 2008
"Matthew Dempsky" <> writes:
> The code in unix/sys_float.c assumes that if strtod(3) sets errno to
> ERANGE then there was a problem parsing the value. However, according
> to POSIX, the actual indication of an error is that it also returned
> 0.0, HUGE_VAL, or -HUGE_VAL. This causes a problem on OS X 10.5 when
> trying to read denormalized floating-point numbers because OS X's
> strtod(3) implementation sets errno to ERANGE for denormals.
> The patch below changes the errno check to be consistent with POSIX.
We will test the patch in our daily build and include it in R12B-1
if we'll encounter no problems.
Björn Gustavsson, Erlang/OTP, Ericsson AB
More information about the erlang-patches