helly           Sat May 31 11:22:42 2003 EDT

  Modified files:              
    /spl        spl_foreach.c 
  Log:
  Fix precondition
  
Index: spl/spl_foreach.c
diff -u spl/spl_foreach.c:1.8 spl/spl_foreach.c:1.9
--- spl/spl_foreach.c:1.8       Thu May 29 17:08:08 2003
+++ spl/spl_foreach.c   Sat May 31 11:22:42 2003
@@ -54,13 +54,15 @@
        zval **obj, *retval;
        spl_foreach_proxy proxy;
        zend_class_entry *instance_ce;
-       spl_is_a is_a = 0;
+       spl_is_a is_a;
 
        obj = spl_get_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);
 
-       if (obj && (instance_ce = spl_get_class_entry(*obj TSRMLS_CC)) != NULL) {
-               is_a = spl_implements(instance_ce);
+       if (!obj || (instance_ce = spl_get_class_entry(*obj TSRMLS_CC)) == NULL) {
+               ZEND_EXECUTE_HOOK_ORIGINAL(ZEND_FE_RESET);
        }
+
+       is_a = spl_implements(instance_ce);
 
        if (is_a & SPL_IS_A_ITERATOR) {
                spl_unlock_zval_ptr_ptr(&EX(opline)->op1, EX(Ts) TSRMLS_CC);



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to