cvs: ZendEngine2 / zend_iterators.c
| From: | Marcus Boerger | Date: | Sat, 14 Feb 2004 13:33:36 +0000 |
| Subject: | cvs: ZendEngine2 / zend_iterators.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-2378@lists.php.net to get a copy of this message | ||
helly Sat Feb 14 08:33:36 2004 EDT
Modified files:
/ZendEngine2 zend_iterators.c
Log:
dtor's may not be called from free_storage handlers
http://cvs.php.net/diff.php/ZendEngine2/zend_iterators.c?r1=1.9&r2=1.10&ty=u
Index: ZendEngine2/zend_iterators.c
diff -u ZendEngine2/zend_iterators.c:1.9 ZendEngine2/zend_iterators.c:1.10
--- ZendEngine2/zend_iterators.c:1.9 Wed Feb 4 16:04:12 2004
+++ ZendEngine2/zend_iterators.c Sat Feb 14 08:33:36 2004
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: zend_iterators.c,v 1.9 2004/02/04 21:04:12 helly Exp $ */
+/* $Id: zend_iterators.c,v 1.10 2004/02/14 13:33:36 helly Exp $ */
#include "zend.h"
#include "zend_API.h"
@@ -54,7 +54,7 @@
zend_iterator_class_entry.name = "__iterator_wrapper";
}
-static void iter_wrapper_free_storage(zend_object *object TSRMLS_DC)
+static void iter_wrapper_dtor(void *object, zend_object_handle handle TSRMLS_DC)
{
zend_object_iterator *iter = (zend_object_iterator*)object;
iter->funcs->dtor(iter TSRMLS_CC);
@@ -66,7 +66,7 @@
MAKE_STD_ZVAL(wrapped);
Z_TYPE_P(wrapped) = IS_OBJECT;
- wrapped->value.obj.handle = zend_objects_store_put(iter, NULL, iter_wrapper_free_storage, NULL
TSRMLS_CC);
+ wrapped->value.obj.handle = zend_objects_store_put(iter, iter_wrapper_dtor, NULL, NULL
TSRMLS_CC);
wrapped->value.obj.handlers = &iterator_object_handlers;
return wrapped;