]> granicus.if.org Git - php/commitdiff
Fix object true value: if we are in compat mode and it's Zend object -
authorStanislav Malyshev <stas@php.net>
Thu, 4 Mar 2004 13:06:02 +0000 (13:06 +0000)
committerStanislav Malyshev <stas@php.net>
Thu, 4 Mar 2004 13:06:02 +0000 (13:06 +0000)
use PHP4 rules. Otherwise, object is always true.

Zend/zend_execute.h

index ce7a99abb68e0b221ac00bddcddeea0e132aa925..80666fc46d269147cdbf7093bbe593205f46d608 100644 (file)
@@ -93,8 +93,12 @@ static inline int i_zend_is_true(zval *op)
                        result = (zend_hash_num_elements(op->value.ht)?1:0);
                        break;
                case IS_OBJECT:
-                       /* OBJ-TBI */
-                       result = 1;
+                       if(EG(ze1_compatibility_mode) && IS_ZEND_STD_OBJECT(z)) {
+                               TSRMLS_FETCH();
+                               result = (zend_hash_num_elements(Z_OBJPROP_PP(struc))?1:0);
+                       } else {
+                               result = 1;
+                       }
                        break;
                default:
                        result = 0;