chregu Tue Nov 26 10:37:55 2002 EDT
Modified files:
/php4/ext/domxml php_domxml.c
Log:
Fix for Bug #20639 DomElement->get_elements_by_tagname() doesn't work
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.219 php4/ext/domxml/php_domxml.c:1.220
--- php4/ext/domxml/php_domxml.c:1.219 Fri Nov 15 06:06:13 2002
+++ php4/ext/domxml/php_domxml.c Tue Nov 26 10:37:54 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.219 2002/11/15 11:06:13 helly Exp $ */
+/* $Id: php_domxml.c,v 1.220 2002/11/26 15:37:54 chregu Exp $ */
/* TODO
* - Support Notation Nodes
@@ -616,11 +616,12 @@
}
}
-static xmlNodeSetPtr php_get_elements_by_tagname(xmlNodePtr n, xmlChar* name)
+static xmlNodeSetPtr php_get_elements_by_tagname(xmlNodePtr n, xmlChar* name,
+xmlNodeSet *rv )
{
- xmlNodeSetPtr rv = NULL;
xmlNodePtr cld = NULL;
-
+ /* TODO
+ Namespace support
+ */
if ( n != NULL && name != NULL ) {
cld = n->children;
while ( cld != NULL ) {
@@ -632,6 +633,7 @@
xmlXPathNodeSetAdd( rv, cld );
}
}
+ rv = php_get_elements_by_tagname(cld, name, rv);
cld = cld->next;
}
}
@@ -3042,7 +3044,7 @@
xmlNode *nodep;
int name_len,i;
char *name;
- xmlNodeSet *nodesetp;
+ xmlNodeSet *nodesetp = NULL;
DOMXML_PARAM_TWO(nodep, id, le_domxmlelementp, "s", &name, &name_len);
@@ -3053,7 +3055,7 @@
RETURN_FALSE;
}
- nodesetp = php_get_elements_by_tagname(nodep,name);
+ nodesetp = php_get_elements_by_tagname(nodep, name, NULL);
if(nodesetp) {
for (i = 0; i < nodesetp->nodeNr; i++) {
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php