]> granicus.if.org Git - php/commitdiff
optimization
authorDmitry Stogov <dmitry@php.net>
Mon, 29 Oct 2007 14:37:11 +0000 (14:37 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 29 Oct 2007 14:37:11 +0000 (14:37 +0000)
Zend/zend_operators.c

index d9e34e72c885026e7ce39e4d2d424e3af5bcf4b6..3a19f35e0f4503f3f5dc3a8e4d099d88f40a5169 100644 (file)
@@ -1858,21 +1858,19 @@ ZEND_API int numeric_compare_function(zval *result, zval *op1, zval *op2 TSRMLS_
 
 static inline void zend_free_obj_get_result(zval *op) /* {{{ */
 {
-       if (op) {
-               if (Z_REFCOUNT_P(op) == 0) {
-                       zval_dtor(op);
-                       FREE_ZVAL(op);
-               } else {
-                       zval_ptr_dtor(&op);
-               }
+       if (Z_REFCOUNT_P(op) == 0) {
+               zval_dtor(op);
+               FREE_ZVAL(op);
+       } else {
+               zval_ptr_dtor(&op);
        }
 }
 /* }}} */
 
 #define COMPARE_RETURN_AND_FREE(retval) \
-                       zend_free_obj_get_result(op1_free); \
-                       zend_free_obj_get_result(op2_free); \
-                       return retval;
+       if (op1_free) {zend_free_obj_get_result(op1_free);} \
+       if (op2_free) {zend_free_obj_get_result(op2_free);} \
+       return retval;
 
 ZEND_API int compare_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) /* {{{ */
 {