]> granicus.if.org Git - php/commitdiff
- Export normalize_bool
authorZeev Suraski <zeev@php.net>
Sat, 3 Jun 2000 03:05:01 +0000 (03:05 +0000)
committerZeev Suraski <zeev@php.net>
Sat, 3 Jun 2000 03:05:01 +0000 (03:05 +0000)
- This global/static syntax fix brought us back to the 4 documented conflicts

Zend/zend-parser.y
Zend/zend.h
Zend/zend_operators.c

index e9ea08e3a99694489c8ff4eca2d7f036a5c09162..22234ba87578cf0bc62736e48a466d3edf537a17 100644 (file)
@@ -45,7 +45,7 @@
 %}
 
 %pure_parser
-%expect 7
+%expect 4
 
 %left T_INCLUDE T_INCLUDE_ONCE T_EVAL
 %left ','
index 137484f076b62132690c33b5a922e1c2a95e0d3d..2992afc038655ef34883287562d2d5e4c29d2806 100644 (file)
@@ -249,6 +249,8 @@ typedef int (*zend_write_func_t)(const char *str, uint str_length);
 #define MIN(a,b)  (((a)<(b))?(a):(b))
 #define ZEND_STRL(str)         (str), (sizeof(str)-1)
 #define ZEND_STRS(str)         (str), (sizeof(str)
+#define ZEND_NORMALIZE_BOOL(n)                 \
+       ((n) ? (((n)>0) ? 1 : -1) : 0)
 
 
 /* data types */
index 2c0b36bbed74d0f13a19eed6000c5a1036eae345..57a72358f4a2bd8227426512980ec44f32a3e0d8 100644 (file)
@@ -42,9 +42,6 @@
 #endif
 #endif
 
-#define NORMALIZE_BOOL(n)                      \
-       ((n) ? (((n)>0) ? 1 : -1) : 0)
-
 #if WITH_BCMATH
 #include "ext/bcmath/number.h"
 #endif
@@ -1039,7 +1036,7 @@ ZEND_API int numeric_compare_function(zval *result, zval *op1, zval *op2)
        convert_to_double(&op1_copy);
        convert_to_double(&op2_copy);
 
-       result->value.lval = NORMALIZE_BOOL(op1_copy.value.dval-op2_copy.value.dval);
+       result->value.lval = ZEND_NORMALIZE_BOOL(op1_copy.value.dval-op2_copy.value.dval);
        result->type = IS_LONG;
 
        return SUCCESS;
@@ -1059,7 +1056,7 @@ ZEND_API int compare_function(zval *result, zval *op1, zval *op2)
                zendi_convert_to_boolean(op1, op1_copy, result);
                zendi_convert_to_boolean(op2, op2_copy, result);
                result->type = IS_LONG;
-               result->value.lval = NORMALIZE_BOOL(op1->value.lval-op2->value.lval);
+               result->value.lval = ZEND_NORMALIZE_BOOL(op1->value.lval-op2->value.lval);
                return SUCCESS;
        }
 
@@ -1068,13 +1065,13 @@ 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 = NORMALIZE_BOOL(op1->value.lval-op2->value.lval);
+               result->value.lval = ZEND_NORMALIZE_BOOL(op1->value.lval-op2->value.lval);
                return SUCCESS;
        }
        if ((op1->type == IS_DOUBLE || op1->type == IS_LONG)
                && (op2->type == IS_DOUBLE || op2->type == IS_LONG)) {
                result->value.dval = (op1->type == IS_LONG ? (double) op1->value.lval : op1->value.dval) - (op2->type == IS_LONG ? (double) op2->value.lval : op2->value.dval);
-               result->value.lval = NORMALIZE_BOOL(result->value.dval);
+               result->value.lval = ZEND_NORMALIZE_BOOL(result->value.dval);
                result->type = IS_LONG;
                return SUCCESS;
        }
@@ -1452,7 +1449,7 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2)
                        str2num(&first,s1->value.str.val,100); /* this scale should do */
                        str2num(&second,s2->value.str.val,100); /* ditto */
                        result->value.lval = bc_compare(first,second);
-                       result->value.lval = NORMALIZE_BOOL(result->value.lval);
+                       result->value.lval = ZEND_NORMALIZE_BOOL(result->value.lval);
                        result->type = IS_LONG;
                        free_num(&first);
                        free_num(&second);
@@ -1465,16 +1462,16 @@ ZEND_API void zendi_smart_strcmp(zval *result, zval *s1, zval *s2)
                                dval2 = strtod(s2->value.str.val, NULL);
                        }
                        result->value.dval = dval1 - dval2;
-                       result->value.lval = NORMALIZE_BOOL(result->value.dval);
+                       result->value.lval = ZEND_NORMALIZE_BOOL(result->value.dval);
                        result->type = IS_LONG;
                } else { /* they both have to be long's */
                        result->value.lval = lval1 - lval2;
-                       result->value.lval = NORMALIZE_BOOL(result->value.lval);
+                       result->value.lval = ZEND_NORMALIZE_BOOL(result->value.lval);
                        result->type = IS_LONG;
                }
        } else {
                result->value.lval = zend_binary_zval_strcmp(s1, s2);
-               result->value.lval = NORMALIZE_BOOL(result->value.lval);
+               result->value.lval = ZEND_NORMALIZE_BOOL(result->value.lval);
                result->type = IS_LONG;
        }
        return;