From b1f52e79aa5a8acb8739c7a118e432052cfcdf22 Mon Sep 17 00:00:00 2001 From: Rob Richards Date: Wed, 3 May 2006 08:40:52 +0000 Subject: [PATCH] Fix bug #37277 (cloning Dom Documents or Nodes does not work) Proper fix for bug #36859 --- ext/dom/attr.c | 2 +- ext/dom/element.c | 2 +- ext/dom/php_dom.c | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ext/dom/attr.c b/ext/dom/attr.c index 311496282b..355b6c572f 100644 --- a/ext/dom/attr.c +++ b/ext/dom/attr.c @@ -77,7 +77,7 @@ PHP_METHOD(domattr, __construct) } if (intern != NULL) { - oldnode = (xmlNodePtr)intern->ptr; + oldnode = dom_object_get_node(intern); if (oldnode != NULL) { php_libxml_node_free_resource(oldnode TSRMLS_CC); } diff --git a/ext/dom/element.c b/ext/dom/element.c index 08b3dcbe8b..cd582ee0ab 100644 --- a/ext/dom/element.c +++ b/ext/dom/element.c @@ -128,7 +128,7 @@ PHP_METHOD(domelement, __construct) intern = (dom_object *)zend_object_store_get_object(id TSRMLS_CC); if (intern != NULL) { - oldnode = (xmlNodePtr)intern->ptr; + oldnode = dom_object_get_node(intern); if (oldnode != NULL) { php_libxml_node_free_resource(oldnode TSRMLS_CC); } diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c index f06f7badb8..cd9db606c7 100644 --- a/ext/dom/php_dom.c +++ b/ext/dom/php_dom.c @@ -460,7 +460,6 @@ zend_object_value dom_objects_store_clone_obj(zval *zobject TSRMLS_DC) retval.handle = zend_objects_store_put(new_object, obj->dtor, obj->free_storage, obj->clone TSRMLS_CC); intern = (dom_object *) new_object; intern->handle = retval.handle; - intern->ptr = NULL; retval.handlers = Z_OBJ_HT_P(zobject); old_object = (dom_object *) obj->object; -- 2.40.0