Skip to content

Commit 545c296

Browse files
Fixed if/else if ordering
1 parent 7f51d73 commit 545c296

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

Zend/zend_operators.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,9 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
8383
#elif SIZEOF_ZEND_LONG == 4
8484
static zend_always_inline zend_long zend_dval_to_lval(double d)
8585
{
86-
if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
86+
if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
87+
return 0;
88+
} else if (d > ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
8789
double two_pow_32 = pow(2., 32.),
8890
dmod;
8991

@@ -94,16 +96,16 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
9496
dmod = ceil(dmod) + two_pow_32;
9597
}
9698
return (zend_long)(zend_ulong)dmod;
97-
} else if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
98-
return 0;
9999
}
100100
return (zend_long)d;
101101
}
102102
#else
103103
static zend_always_inline zend_long zend_dval_to_lval(double d)
104104
{
105+
if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
106+
return 0;
105107
/* >= as (double)ZEND_LONG_MAX is outside signed range */
106-
if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
108+
} else if (d >= ZEND_LONG_MAX || d < ZEND_LONG_MIN) {
107109
double two_pow_64 = pow(2., 64.),
108110
dmod;
109111

@@ -114,8 +116,6 @@ static zend_always_inline zend_long zend_dval_to_lval(double d)
114116
dmod += two_pow_64;
115117
}
116118
return (zend_long)(zend_ulong)dmod;
117-
} else if (UNEXPECTED(!zend_finite(d)) || UNEXPECTED(zend_isnan(d))) {
118-
return 0;
119119
}
120120
return (zend_long)d;
121121
}

0 commit comments

Comments
 (0)