From: Tjerk Meesters Date: Mon, 1 Sep 2014 22:54:52 +0000 (+0800) Subject: Merge branch 'PHP-5.6' X-Git-Tag: PRE_PHP7_REMOVALS~160 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=297a9b1f759dd6b027ee48869175eee470d830e9;p=php Merge branch 'PHP-5.6' * PHP-5.6: Make DOMNode::textContent writeable Updated UPGRADING Updated NEWS Conflicts: ext/dom/attr.c ext/dom/characterdata.c ext/dom/document.c ext/dom/node.c --- 297a9b1f759dd6b027ee48869175eee470d830e9 diff --cc ext/dom/node.c index 6821348e07,2c484adae9..4ed0392b62 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@@ -845,6 -928,23 +845,21 @@@ int dom_node_text_content_read(dom_obje int dom_node_text_content_write(dom_object *obj, zval *newval TSRMLS_DC) { + 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); + return FAILURE; + } + - convert_to_string_copy(newval, value_copy); - enc_str = xmlEncodeEntitiesReentrant(nodep->doc, Z_STRVAL_P(newval)); ++ str = zval_get_string(newval); ++ enc_str = xmlEncodeEntitiesReentrant(nodep->doc, str->val); + xmlNodeSetContent(nodep, enc_str); + xmlFree(enc_str); - if (newval == &value_copy) { - zval_dtor(newval); - } ++ zend_string_release(str); + return SUCCESS; }