summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-05-01 12:19:32 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-05-01 12:37:39 +0200
commit54148fd68677e8b13b5a11c309c601d1248fb78b (patch)
tree2a4846a9bf266feb433dfe457eb3b1ca4eee91e3
parent6998cc502997336125a75987efda563a770ab839 (diff)
downloadphp-git-54148fd68677e8b13b5a11c309c601d1248fb78b.tar.gz
Fix #79528: Different object of the same xml between 7.4.5 and 7.4.4
Revert "Fix #61597: SXE properties may lack attributes and content" This reverts commit 7c081db885756d7b176a55b90b8746f664d1e042.
-rw-r--r--NEWS4
-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, 11 insertions, 108 deletions
diff --git a/NEWS b/NEWS
index 5989413993..c5e465c526 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 7.3.19
+- SimpleXML:
+ . Fixed bug #79528 (Different object of the same xml between 7.4.5 and
+ 7.4.4). (cmb)
+
30 Apr 2020, PHP 7.3.18RC1
- Core:
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c
index a27a9849a3..ab394b5c83 100644
--- a/ext/simplexml/simplexml.c
+++ b/ext/simplexml/simplexml.c
@@ -964,7 +964,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 dde32d8eaa..8a35fc9ba3 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"
- }
-}