From 54148fd68677e8b13b5a11c309c601d1248fb78b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 1 May 2020 12:19:32 +0200 Subject: [PATCH] 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. --- NEWS | 4 ++++ ext/simplexml/simplexml.c | 2 +- ext/simplexml/tests/000.phpt | 32 +------------------------------ ext/simplexml/tests/009b.phpt | 25 ++---------------------- ext/simplexml/tests/bug51615.phpt | 26 +++---------------------- ext/simplexml/tests/bug61597.phpt | 30 ----------------------------- 6 files changed, 11 insertions(+), 108 deletions(-) delete mode 100644 ext/simplexml/tests/bug61597.phpt 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-- - ---FILE-- - - -corn - -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" - } -} -- 2.40.0