]> granicus.if.org Git - php/commitdiff
Fix #8279 (-2147483647 > 2147483647).
authorStanislav Malyshev <stas@php.net>
Sun, 17 Dec 2000 16:02:59 +0000 (16:02 +0000)
committerStanislav Malyshev <stas@php.net>
Sun, 17 Dec 2000 16:02:59 +0000 (16:02 +0000)
# Long addition/subtraction may not fit long.

Zend/zend_operators.c

index a232e56af5bc4c26c70bcf4f234cea6159cc8e6a..a0fbe9917b7b37457e357c87d9ab65ba9968ede4 100644 (file)
@@ -1137,7 +1137,7 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2)
 
        if (op1->type == IS_LONG && op2->type == IS_LONG) {
                result->type = IS_LONG;
-               result->value.lval = ZEND_NORMALIZE_BOOL(op1->value.lval-op2->value.lval);
+               result->value.lval = op1->value.lval>op2->value.lval?1:(op1->value.lval<op2->value.lval?-1:0);
                return SUCCESS;
        }
        if ((op1->type == IS_DOUBLE || op1->type == IS_LONG)