Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4
This commit is contained in:
Christoph M. Becker 2020-05-01 12:42:09 +02:00
commit 1d20443679
5 changed files with 7 additions and 108 deletions

View File

@ -990,7 +990,7 @@ static void _get_base_node_value(php_sxe_object *sxe_ref, xmlNodePtr node, zval
php_sxe_object *subnode;
xmlChar *contents;
if ((!node->properties || node->type == XML_ENTITY_DECL) && node->children && node->children->type == XML_TEXT_NODE && !xmlIsBlankNode(node->children)) {
if (node->children && node->children->type == XML_TEXT_NODE && !xmlIsBlankNode(node->children)) {
contents = xmlNodeListGetString(node->doc, node->children, 1);
if (contents) {
ZVAL_STRING(value, (char *)contents);

View File

@ -49,37 +49,7 @@ object(SimpleXMLElement)#%d (3) {
["elem1"]=>
array(2) {
[0]=>
object(SimpleXMLElement)#%d (3) {
["@attributes"]=>
array(2) {
["attr1"]=>
string(5) "first"
["attr2"]=>
string(6) "second"
}
["comment"]=>
object(SimpleXMLElement)#%d (0) {
}
["elem2"]=>
object(SimpleXMLElement)#%d (2) {
["@attributes"]=>
array(2) {
["att25"]=>
string(2) "25"
["att42"]=>
string(2) "42"
}
["elem3"]=>
object(SimpleXMLElement)#%d (1) {
["elem4"]=>
object(SimpleXMLElement)#%d (1) {
["test"]=>
object(SimpleXMLElement)#%d (0) {
}
}
}
}
}
string(36) "There is some text.Here is some more"
[1]=>
object(SimpleXMLElement)#%d (1) {
["@attributes"]=>

View File

@ -26,28 +26,7 @@ object(SimpleXMLElement)#%d (3) {
string(5) "elem1"
}
["elem1"]=>
object(SimpleXMLElement)#%d (3) {
["@attributes"]=>
array(1) {
["attr1"]=>
string(5) "first"
}
["comment"]=>
object(SimpleXMLElement)#%d (0) {
}
["elem2"]=>
string(35) "
Here we have some text data.
"
}
string(10) "Bla bla 1."
["elem11"]=>
object(SimpleXMLElement)#%d (2) {
["@attributes"]=>
array(1) {
["attr2"]=>
string(6) "second"
}
[0]=>
string(10) "Bla bla 2."
}
string(10) "Bla bla 2."
}

View File

@ -22,7 +22,7 @@ foreach ($html->body->span as $obj) {
Warning: DOMDocument::loadHTML(): error parsing attribute name in Entity, line: 1 in %s on line %d
Warning: DOMDocument::loadHTML(): error parsing attribute name in Entity, line: 1 in %s on line %d
object(SimpleXMLElement)#5 (3) {
object(SimpleXMLElement)#%d (3) {
["@attributes"]=>
array(2) {
["title"]=>
@ -31,29 +31,9 @@ object(SimpleXMLElement)#5 (3) {
string(0) ""
}
[0]=>
object(SimpleXMLElement)#4 (2) {
["@attributes"]=>
array(2) {
["title"]=>
string(0) ""
["y"]=>
string(0) ""
}
[0]=>
string(1) "x"
}
string(1) "x"
[1]=>
object(SimpleXMLElement)#6 (2) {
["@attributes"]=>
array(2) {
["title"]=>
string(0) ""
["z"]=>
string(0) ""
}
[0]=>
string(1) "x"
}
string(1) "x"
}
string(0) ""
string(0) ""

View File

@ -1,30 +0,0 @@
--TEST--
Bug #61597 (SXE properties may lack attributes and content)
--SKIPIF--
<?php
if (!extension_loaded('simplexml')) die('skip simplexml extension not available');
?>
--FILE--
<?php
$xml = <<<'EOX'
<?xml version="1.0"?>
<data>
<datum file-key="8708124062829849862">corn</datum>
</data>
EOX;
var_dump(simplexml_load_string($xml));
?>
--EXPECTF--
object(SimpleXMLElement)#%d (1) {
["datum"]=>
object(SimpleXMLElement)#%d (2) {
["@attributes"]=>
array(1) {
["file-key"]=>
string(19) "8708124062829849862"
}
[0]=>
string(4) "corn"
}
}