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();
+ }
}
/* }}} */
--- /dev/null
+--TEST--
+Bug #41867 (getName is broken)
+--FILE--
+<?php
+
+$a = simplexml_load_string("<a><b><c/></b></a>");
+echo $a->getName()."\n";
+echo $a->b->getName()."\n";
+echo $a->b->c->getName();
+?>
+--EXPECT--
+a
+b
+c