]> granicus.if.org Git - php/commitdiff
Merge branch 'PHP-5.6'
authorTjerk Meesters <datibbaw@php.net>
Mon, 1 Sep 2014 22:54:52 +0000 (06:54 +0800)
committerTjerk Meesters <datibbaw@php.net>
Mon, 1 Sep 2014 22:54:52 +0000 (06:54 +0800)
* 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

1  2 
ext/dom/node.c

diff --cc ext/dom/node.c
index 6821348e07a2d30b035375b6cce7226e826044f1,2c484adae9b47af98513713fb6de768cb76a6541..4ed0392b626f6e2833d0da36bb198e791f4fe0cb
@@@ -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)
  {
 -      zval value_copy;
+       xmlNode *nodep = dom_object_get_node(obj);
 -      convert_to_string_copy(newval, value_copy);
 -      enc_str = xmlEncodeEntitiesReentrant(nodep->doc, Z_STRVAL_P(newval));
++      zend_string *str;
+       xmlChar *enc_str;
+       if (nodep == NULL) {
+               php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC);
+               return FAILURE;
+       }
 -      if (newval == &value_copy) {
 -              zval_dtor(newval);
 -      }
++      str = zval_get_string(newval);
++      enc_str = xmlEncodeEntitiesReentrant(nodep->doc, str->val);
+       xmlNodeSetContent(nodep, enc_str);
+       xmlFree(enc_str);
++      zend_string_release(str);
        return SUCCESS;
  }