com php-src: Merge branch 'PHP-5.6': ext/dom/node.c

From: Date: Fri, 04 Sep 2015 23:32:08 +0000
Subject: com php-src: Merge branch 'PHP-5.6': ext/dom/node.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-88918@lists.php.net to get a copy of this message
Commit: c9a8733ce2a953e46c07c380b15617d62f51dabd Author: Christoph M. Becker <cmb@php.net> Sat, 5 Sep 2015 01:32:08 +0200 Parents: 320e891f5b39d26b422185803c809c995b43b7b2 dc1a8dd7f09af5807aadf3ed5ffc9c443cd9e74c Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=c9a8733ce2a953e46c07c380b15617d62f51dabd Log: Merge branch 'PHP-5.6' * PHP-5.6: Fix #70001: Assigning to DOMNode::textContent does additional entity encoding Resolved conflicts: ext/dom/node.c Bugs: https://bugs.php.net/70001 Changed paths: MM ext/dom/node.c Diff: diff --cc ext/dom/node.c index 2023073,5b955c0..2f35e01 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@@ -843,22 -926,23 +843,21 @@@ int dom_node_text_content_read(dom_obje return SUCCESS; } -int dom_node_text_content_write(dom_object *obj, zval *newval TSRMLS_DC) +int dom_node_text_content_write(dom_object *obj, zval *newval) { xmlNode *nodep = dom_object_get_node(obj); - zval value_copy; + zend_string *str; - xmlChar *enc_str; if (nodep == NULL) { - php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); + php_dom_throw_error(INVALID_STATE_ERR, 0); return FAILURE; } - convert_to_string_copy(newval, value_copy); + str = zval_get_string(newval); - enc_str = xmlEncodeEntitiesReentrant(nodep->doc, (xmlChar *) ZSTR_VAL(str)); - xmlNodeSetContent(nodep, enc_str); - xmlFree(enc_str); + /* we have to use xmlNodeAddContent() to get the same behavior as with xmlNewText() */ + xmlNodeSetContent(nodep, (xmlChar *) ""); - xmlNodeAddContent(nodep, Z_STRVAL_P(newval)); - if (newval == &value_copy) { - zval_dtor(newval); - } ++ xmlNodeAddContent(nodep, ZSTR_VAL(str)); + zend_string_release(str); return SUCCESS; }

« previous php.cvs (#88918) next »