From 6533094d9e4d0c85044a170d9fad9a3986a68675 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Mon, 4 Feb 2013 15:19:32 +0100 Subject: 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 --- NEWS | 3 +++ Zend/zend_operators.h | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) 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; -- cgit v1.2.1