cvs: php-src(PHP_5_2) /ext/dom dom_iterators.c php_dom.c

From: Date: Wed, 17 May 2006 16:35:50 +0000
Subject: cvs: php-src(PHP_5_2) /ext/dom dom_iterators.c php_dom.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-38248@lists.php.net to get a copy of this message
rrichards Wed May 17 16:35:50 2006 UTC Modified files: (Branch: PHP_5_2) /php-src/ext/dom php_dom.c dom_iterators.c Log: Synch from HEAD - Fix bug #37456 (DOMElement->setAttribute() loops forever) - update iterators for engine change merged from HEAD http://cvs.php.net/viewcvs.cgi/php-src/ext/dom/php_dom.c?r1=1.73.2.12.2.2&r2=1.73.2.12.2.3&diff_format=u Index: php-src/ext/dom/php_dom.c diff -u php-src/ext/dom/php_dom.c:1.73.2.12.2.2 php-src/ext/dom/php_dom.c:1.73.2.12.2.3 --- php-src/ext/dom/php_dom.c:1.73.2.12.2.2 Wed May 10 19:39:46 2006 +++ php-src/ext/dom/php_dom.c Wed May 17 16:35:50 2006 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_dom.c,v 1.73.2.12.2.2 2006/05/10 19:39:46 helly Exp $ */ +/* $Id: php_dom.c,v 1.73.2.12.2.3 2006/05/17 16:35:50 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -860,6 +860,8 @@ if (wrapper != NULL ) { xmlUnlinkNode(node); } else { + if (node->type == XML_ENTITY_REF_NODE) + break; node_list_unlink(node->children TSRMLS_CC); switch (node->type) { http://cvs.php.net/viewcvs.cgi/php-src/ext/dom/dom_iterators.c?r1=1.9.2.3.2.2&r2=1.9.2.3.2.3&diff_format=u Index: php-src/ext/dom/dom_iterators.c diff -u php-src/ext/dom/dom_iterators.c:1.9.2.3.2.2 php-src/ext/dom/dom_iterators.c:1.9.2.3.2.3 --- php-src/ext/dom/dom_iterators.c:1.9.2.3.2.2 Wed May 10 18:32:50 2006 +++ php-src/ext/dom/dom_iterators.c Wed May 17 16:35:50 2006 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dom_iterators.c,v 1.9.2.3.2.2 2006/05/10 18:32:50 fmk Exp $ */ +/* $Id: dom_iterators.c,v 1.9.2.3.2.3 2006/05/17 16:35:50 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -162,7 +162,7 @@ object = (zval *)iterator->intern.data; if (instanceof_function(Z_OBJCE_P(object), dom_nodelist_class_entry TSRMLS_CC)) { - *int_key = iter->index - 1; + *int_key = iter->index; return HASH_KEY_IS_LONG; } else { curobj = iterator->curobj; @@ -187,7 +187,7 @@ dom_object *intern; dom_object *nnmap; dom_nnodemap_object *objmap; - int ret, previndex=1; + int ret, previndex=0; HashTable *nodeht; zval **entry; @@ -228,9 +228,9 @@ } } else { if (objmap->nodetype == XML_ENTITY_NODE) { - curnode = php_dom_libxml_hash_iter(objmap->ht, iter->index - 1); + curnode = php_dom_libxml_hash_iter(objmap->ht, iter->index); } else { - curnode = php_dom_libxml_notation_iter(objmap->ht, iter->index - 1); + curnode = php_dom_libxml_notation_iter(objmap->ht, iter->index); } } } @@ -268,7 +268,7 @@ 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; iterator->intern.funcs = &php_dom_iterator_funcs;

« previous php.cvs (#38248) next »