summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-05-01 12:38:03 +0200
committerDerick Rethans <github@derickrethans.nl>2020-05-01 17:35:05 +0100
commit214b57e80a96a888e6fcd00ade7d93c1b93be5fa (patch)
tree5697cac1662fab3ae2111f90cceaa0a67f12a276
parenta58bfc67fee901ae3f7414bfa843c4b2bc3952b1 (diff)
downloadphp-git-214b57e80a96a888e6fcd00ade7d93c1b93be5fa.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4
-rw-r--r--NEWS3
-rw-r--r--ext/simplexml/simplexml.c2
-rw-r--r--ext/simplexml/tests/000.phpt32
-rw-r--r--ext/simplexml/tests/009b.phpt25
-rw-r--r--ext/simplexml/tests/bug51615.phpt26
-rw-r--r--ext/simplexml/tests/bug61597.phpt30
6 files changed, 10 insertions, 108 deletions
diff --git a/NEWS b/NEWS
index b8e353a413..b0019a49b3 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.4.6
+- SimpleXML:
+ . Fixed bug #79528 (Different object of the same xml between 7.4.5 and
+ 7.4.4). (cmb)
30 Apr 2020, PHP 7.4.6RC1
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index 0760598aff..2cdff0e648 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -981,7 +981,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);
diff --git a/ext/simplexml/tests/000.phpt b/ext/simplexml/tests/000.phpt
index 0d4300e5ff..d70a038ffa 100644
--- a/ext/simplexml/tests/000.phpt
+++ b/ext/simplexml/tests/000.phpt
@@ -51,37 +51,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"]=>
diff --git a/ext/simplexml/tests/009b.phpt b/ext/simplexml/tests/009b.phpt
index a8ca72c5ea..fd920e2e26 100644
--- a/ext/simplexml/tests/009b.phpt
+++ b/ext/simplexml/tests/009b.phpt
@@ -28,29 +28,8 @@ 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."
}
===DONE===
diff --git a/ext/simplexml/tests/bug51615.phpt b/ext/simplexml/tests/bug51615.phpt
index 32af5f6ee4..b935414b80 100644
--- a/ext/simplexml/tests/bug51615.phpt
+++ b/ext/simplexml/tests/bug51615.phpt
@@ -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) ""
diff --git a/ext/simplexml/tests/bug61597.phpt b/ext/simplexml/tests/bug61597.phpt
deleted file mode 100644
index 65fa6be772..0000000000
--- a/ext/simplexml/tests/bug61597.phpt
+++ /dev/null
@@ -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"
- }
-}