summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Collet <remi@php.net>2013-02-04 15:19:32 +0100
committerRemi Collet <remi@php.net>2013-02-04 15:19:32 +0100
commit6533094d9e4d0c85044a170d9fad9a3986a68675 (patch)
treeb65ae797122d43e1edf73660835089740da86b37
parent740b823be80a29e4c6537d4053eb7bad0fae6c41 (diff)
downloadphp-git-6533094d9e4d0c85044a170d9fad9a3986a68675.tar.gz
Fixed bug #64142 (dval to lval different behavior on ppc64)
On x86_64: (long)(double)9223372036854775807+1 = -9223372036854775808 On ppc64 (long)(double)9223372036854775807-1 = 9223372036854775807
-rw-r--r--NEWS3
-rw-r--r--Zend/zend_operators.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 2aff180fa9..0649d9d732 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,9 @@ PHP NEWS
- CLI server:
. Fixed bug #64128 (buit-in web server is broken on ppc64). (Remi)
+- Core:
+ . Fixed bug #64142 (dval to lval different behavior on ppc64). (Remi)
+
?? ??? 2012, PHP 5.4.12
- Core:
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index 02a96dd26e..93b904f3c9 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -79,7 +79,7 @@ static zend_always_inline long zend_dval_to_lval(double d)
#else
static zend_always_inline long zend_dval_to_lval(double d)
{
- if (d > LONG_MAX) {
+ if (d >= LONG_MAX) {
return (long)(unsigned long) d;
}
return (long) d;