cvs: php-src /ext/dom dom_iterators.c php_dom.h
| From: | Rob Richards | Date: | Tue, 07 Feb 2006 11:48:37 +0000 |
| Subject: | cvs: php-src /ext/dom dom_iterators.c php_dom.h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-36808@lists.php.net to get a copy of this message | ||
rrichards Tue Feb 7 11:48:37 2006 UTC
Modified files:
/php-src/ext/dom dom_iterators.c php_dom.h
Log:
modify get_iterator call for engine change
http://cvs.php.net/viewcvs.cgi/php-src/ext/dom/dom_iterators.c?r1=1.12&r2=1.13&diff_format=u
Index: php-src/ext/dom/dom_iterators.c
diff -u php-src/ext/dom/dom_iterators.c:1.12 php-src/ext/dom/dom_iterators.c:1.13
--- php-src/ext/dom/dom_iterators.c:1.12 Sun Jan 1 13:09:49 2006
+++ php-src/ext/dom/dom_iterators.c Tue Feb 7 11:48:37 2006
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: dom_iterators.c,v 1.12 2006/01/01 13:09:49 sniper Exp $ */
+/* $Id: dom_iterators.c,v 1.13 2006/02/07 11:48:37 rrichards Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -250,7 +250,7 @@
NULL
};
-zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object TSRMLS_DC)
+zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, int by_ref
TSRMLS_DC)
{
dom_object *intern;
dom_nnodemap_object *objmap;
@@ -259,8 +259,13 @@
int ret, curindex = 0;
HashTable *nodeht;
zval **entry;
+ php_dom_iterator *iterator;
- php_dom_iterator *iterator = emalloc(sizeof(php_dom_iterator));
+ if (by_ref) {
+ zend_error(E_ERROR, "An iterator cannot be used with foreach by reference");
+ }
+
+ iterator = emalloc(sizeof(php_dom_iterator));
object->refcount++;
iterator->intern.data = (void*)object;
http://cvs.php.net/viewcvs.cgi/php-src/ext/dom/php_dom.h?r1=1.31&r2=1.32&diff_format=u
Index: php-src/ext/dom/php_dom.h
diff -u php-src/ext/dom/php_dom.h:1.31 php-src/ext/dom/php_dom.h:1.32
--- php-src/ext/dom/php_dom.h:1.31 Sun Jan 1 13:09:49 2006
+++ php-src/ext/dom/php_dom.h Tue Feb 7 11:48:37 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_dom.h,v 1.31 2006/01/01 13:09:49 sniper Exp $ */
+/* $Id: php_dom.h,v 1.32 2006/02/07 11:48:37 rrichards Exp $ */
#ifndef PHP_DOM_H
#define PHP_DOM_H
@@ -109,7 +109,7 @@
xmlNodePtr create_notation(const xmlChar *name, const xmlChar *ExternalID, const xmlChar
*SystemID);
xmlNode *php_dom_libxml_hash_iter(xmlHashTable *ht, int index);
xmlNode *php_dom_libxml_notation_iter(xmlHashTable *ht, int index);
-zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object TSRMLS_DC);
+zend_object_iterator *php_dom_get_iterator(zend_class_entry *ce, zval *object, int by_ref
TSRMLS_DC);
int dom_set_doc_classmap(php_libxml_ref_obj *document, zend_class_entry *basece, zend_class_entry
*ce TSRMLS_DC);
#define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \