From: Rob Richards Date: Mon, 2 Jul 2007 11:36:28 +0000 (+0000) Subject: MFB: fix bug #41867 (getName is broken) X-Git-Tag: BEFORE_IMPORT_OF_MYSQLND~332 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=889bc9eab43708ccc90266c3c170ce17cf4ddabe;p=php MFB: fix bug #41867 (getName is broken) add test --- diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 15fbf456f1..7b0b9bc08a 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -1550,9 +1550,13 @@ SXE_METHOD(getName) sxe = php_sxe_fetch_object(getThis() TSRMLS_CC); GET_NODE(sxe, node); - - namelen = xmlStrlen(node->name); - RETVAL_XML_STRING_LEN((char *) node->name, namelen, ZSTR_DUPLICATE); + node = php_sxe_get_first_node(sxe, node TSRMLS_CC); + if (node) { + namelen = xmlStrlen(node->name); + RETVAL_XML_STRING_LEN((char *) node->name, namelen, ZSTR_DUPLICATE); + } else { + RETURN_EMPTY_TEXT(); + } } /* }}} */ diff --git a/ext/simplexml/tests/bug41867.phpt b/ext/simplexml/tests/bug41867.phpt new file mode 100644 index 0000000000..f530f95dcc --- /dev/null +++ b/ext/simplexml/tests/bug41867.phpt @@ -0,0 +1,14 @@ +--TEST-- +Bug #41867 (getName is broken) +--FILE-- +"); +echo $a->getName()."\n"; +echo $a->b->getName()."\n"; +echo $a->b->c->getName(); +?> +--EXPECT-- +a +b +c