summaryrefslogtreecommitdiff
path: root/Zend/zend_operators.h
diff options
context:
space:
mode:
authorAndrea Faulds <ajf@ajf.me>2014-09-17 20:41:20 +0100
committerAndrea Faulds <ajf@ajf.me>2014-09-17 20:41:20 +0100
commit545c296ef4b5ffdb1cf59583c55129f08d75601b (patch)
tree8f9c1f4250f8b6f7570e9f768ef521ba5102e538 /Zend/zend_operators.h
parent7f51d73bb2aef3fb8b50b6a7e76ebb11f86813fa (diff)
downloadphp-git-545c296ef4b5ffdb1cf59583c55129f08d75601b.tar.gz
Fixed if/else if ordering
Diffstat (limited to 'Zend/zend_operators.h')
-rw-r--r--Zend/zend_operators.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/Zend/zend_operators.h b/Zend/zend_operators.h
index 256429dddb..bf35f35a10 100644
--- a/Zend/zend_operators.h
+++ b/Zend/zend_operators.h
@@ -83,7 +83,9 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
#elif SIZEOF_ZEND_LONG == 4
static zend_always_inline zend_long zend_dval_to_lval(double d)
{
- if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
+ if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
+ return 0;
+ } else if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
double two_pow_32 = pow(2., 32.),
dmod;
@@ -94,16 +96,16 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
dmod = ceil(dmod) + two_pow_32;
}
return (zend_long)(zend_ulong)dmod;
- } else if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
- return 0;
}
return (zend_long)d;
}
#else
static zend_always_inline zend_long zend_dval_to_lval(double d)
{
+ if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
+ return 0;
/* >= as (double)ZEND_LONG_MAX is outside signed range */
- if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
+ } else if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
double two_pow_64 = pow(2., 64.),
dmod;
@@ -114,8 +116,6 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
dmod += two_pow_64;
}
return (zend_long)(zend_ulong)dmod;
- } else if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
- return 0;
}
return (zend_long)d;
}