rrichards Mon Dec 29 11:44:47 2003 EDT Modified files: /php-src/ext/dom dom_iterators.c nodelist.c Log: Fixed bug #26743 (getElementsByTagName doesn't work properly) Index: php-src/ext/dom/dom_iterators.c diff -u php-src/ext/dom/dom_iterators.c:1.2 php-src/ext/dom/dom_iterators.c:1.3 --- php-src/ext/dom/dom_iterators.c:1.2 Mon Dec 8 12:08:10 2003 +++ php-src/ext/dom/dom_iterators.c Mon Dec 29 11:44:47 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: dom_iterators.c,v 1.2 2003/12/08 17:08:10 rrichards Exp $ */ +/* $Id: dom_iterators.c,v 1.3 2003/12/29 16:44:47 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -207,6 +207,8 @@ basenode = dom_object_get_node(objmap->baseobj); if (basenode && (basenode->type == XML_DOCUMENT_NODE || basenode->type == XML_HTML_DOCUMENT_NODE)) { basenode = xmlDocGetRootElement((xmlDoc *) basenode); + } else { + basenode = basenode->children; } curnode = dom_get_elements_by_tag_name_ns_raw(basenode, objmap->ns, objmap->local, &previndex, iter->index); } @@ -264,6 +266,8 @@ } else { if (nodep->type == XML_DOCUMENT_NODE || nodep->type == XML_HTML_DOCUMENT_NODE) { nodep = xmlDocGetRootElement((xmlDoc *) nodep); + } else { + nodep = nodep->children; } curnode = dom_get_elements_by_tag_name_ns_raw(nodep, objmap->ns, objmap->local, &curindex, 0); } Index: php-src/ext/dom/nodelist.c diff -u php-src/ext/dom/nodelist.c:1.6 php-src/ext/dom/nodelist.c:1.7 --- php-src/ext/dom/nodelist.c:1.6 Tue Dec 23 12:08:44 2003 +++ php-src/ext/dom/nodelist.c Mon Dec 29 11:44:47 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: nodelist.c,v 1.6 2003/12/23 17:08:44 iliaa Exp $ */ +/* $Id: nodelist.c,v 1.7 2003/12/29 16:44:47 rrichards Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -71,6 +71,8 @@ } else { if (nodep->type == XML_DOCUMENT_NODE || nodep->type == XML_HTML_DOCUMENT_NODE) { nodep = xmlDocGetRootElement((xmlDoc *) nodep); + } else { + nodep = nodep->children; } curnode = dom_get_elements_by_tag_name_ns_raw(nodep, objmap->ns, objmap->local, &count, -1); } @@ -129,6 +131,8 @@ } else { if (nodep->type == XML_DOCUMENT_NODE || nodep->type == XML_HTML_DOCUMENT_NODE) { nodep = xmlDocGetRootElement((xmlDoc *) nodep); + } else { + nodep = nodep->children; } itemnode = dom_get_elements_by_tag_name_ns_raw(nodep, objmap->ns, objmap->local, &count, index); }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php