zval ptr;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
obj = CDNO_FETCH(object);
int i;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
I = ecalloc(1, sizeof(*I));
date_period_it *iterator = emalloc(sizeof(date_period_it));
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
zend_iterator_init((zend_object_iterator*)iterator);
php_dom_iterator *iterator;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
iterator = emalloc(sizeof(php_dom_iterator));
zend_iterator_init(&iterator->intern);
struct php_pdo_iterator *I;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
I = ecalloc(1, sizeof(struct php_pdo_iterator));
php_sxe_iterator *iterator;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_error(NULL, "An iterator cannot be used with foreach by reference");
+ return NULL;
}
iterator = emalloc(sizeof(php_sxe_iterator));
zend_iterator_init(&iterator->intern);
spl_array_object *array_object = Z_SPLARRAY_P(object);
if (by_ref && (array_object->ar_flags & SPL_ARRAY_OVERLOADED_CURRENT)) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_exception(spl_ce_RuntimeException, "An iterator cannot be used with foreach by reference", 0);
+ return NULL;
}
iterator = emalloc(sizeof(zend_user_iterator));
spl_filesystem_object *dir_object;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_exception(spl_ce_RuntimeException, "An iterator cannot be used with foreach by reference", 0);
+ return NULL;
}
dir_object = Z_SPLFILESYSTEM_P(object);
iterator = spl_filesystem_object_to_iterator(dir_object);
spl_filesystem_object *dir_object;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_exception(spl_ce_RuntimeException, "An iterator cannot be used with foreach by reference", 0);
+ return NULL;
}
dir_object = Z_SPLFILESYSTEM_P(object);
iterator = spl_filesystem_object_to_iterator(dir_object);
spl_recursive_it_object *object;
if (by_ref) {
- zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ zend_throw_exception(spl_ce_RuntimeException, "An iterator cannot be used with foreach by reference", 0);
+ return NULL;
}
iterator = emalloc(sizeof(spl_recursive_it_iterator));
object = Z_SPLRECURSIVE_IT_P(zobject);
}
?>
--EXPECTF--
-Fatal error: An iterator cannot be used with foreach by reference in %s on line %d
+Fatal error: Uncaught RuntimeException: An iterator cannot be used with foreach by reference in %s:%d
+Stack trace:
+#0 {main}
+ thrown in %s on line %d
int(3)
int(4)
-Fatal error: An iterator cannot be used with foreach by reference in %sarray_019.php on line %d
+Fatal error: Uncaught RuntimeException: An iterator cannot be used with foreach by reference in %s:%d
+Stack trace:
+#0 {main}
+ thrown in %s on line %d
?>
--EXPECTF--
-Fatal error: An iterator cannot be used with foreach by reference in %s on line %d
+Fatal error: Uncaught RuntimeException: An iterator cannot be used with foreach by reference in %s:%d
+Stack trace:
+#0 {main}
+ thrown in %s on line %d