cvs: spl / spl_foreach.c
| From: | Marcus Boerger | Date: | Sat, 31 May 2003 15:22:42 +0000 |
| Subject: | cvs: spl / spl_foreach.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-21432@lists.php.net to get a copy of this message | ||
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);