ID:               31504
 User updated by:  charlesb at ekit-inc dot com
 Reported By:      charlesb at ekit-inc dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         Variables related
 Operating System: sol9 i86, sol8 sparc, sol9 sparc
 PHP Version:      4.3.10
 Assigned To:      derick
 New Comment:

OK, I built the stable snapshot on sol9/x86 and that huge number comes
up as  6.48262, rather than -Inf.  

So yeah, it works. :)  Cheers


Previous Comments:
------------------------------------------------------------------------

[2005-01-13 08:17:34] [EMAIL PROTECTED]

Can you please try the snapshot? We can't test this as we don't have
access to a sol. box and it would be a shame if it still borks on
solaris in 4.3.11.

And FYI, it's not because we work around an OS bug, it is because we
need a non-locale aware version.

------------------------------------------------------------------------

[2005-01-13 04:11:19] charlesb at ekit-inc dot com

OK, this looks like the error discussed in bugs 31107 and 31121 (but is
reported as a build error instead, which is why I missed it).

It's to do with php's test being endian is wrong for solaris and we
presume will see the fix in 4.3.11.  (or we'll grab the snapshot).

Case closed (for now).

------------------------------------------------------------------------

[2005-01-13 03:53:54] charlesb at ekit-inc dot com

I'll just add that I've only confirmed that c-code problem on sol9/x86.

------------------------------------------------------------------------

[2005-01-13 03:41:40] charlesb at ekit-inc dot com

Can't help you with access to a sol box, but I can confirm it is that
function at fault.  On FC 1 the following C code produces the correct
result but on solaris it produces 
-Inf, ie is a bug.

You might be interested to know that the solaris strtod function can
handle the number no problems, so if you rolled your own zend_strtod
function to get around an OS bug, you don't need to for Solaris :)

char *cp;
double a = zend_strtod("6.48261999999999982691178956883959472179",
&cp);
printf("%g\n", a);

------------------------------------------------------------------------

[2005-01-12 09:13:35] [EMAIL PROTECTED]

This works fine for me on Linux, I will need access to a solaris
machine with GDB installed to try to fix this... it's most likely
related to our new zend_strtod functions.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/31504

-- 
Edit this bug report at http://bugs.php.net/?id=31504&edit=1

Reply via email to