]> granicus.if.org Git - php/commitdiff
Fix bug #37277 (cloning Dom Documents or Nodes does not work)
authorRob Richards <rrichards@php.net>
Wed, 3 May 2006 08:40:52 +0000 (08:40 +0000)
committerRob Richards <rrichards@php.net>
Wed, 3 May 2006 08:40:52 +0000 (08:40 +0000)
Proper fix for bug #36859

ext/dom/attr.c
ext/dom/element.c
ext/dom/php_dom.c

index 311496282b19df15aa0408132af095cd6bbf390e..355b6c572fd1328d27368a7a4bd436d805a4d284 100644 (file)
@@ -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);
                }
index 08b3dcbe8b423f3e6cfbce02cc359863e0c43951..cd582ee0ab84b05fb0dc8c668e009fd364a1bf29 100644 (file)
@@ -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);
                }
index f06f7badb8d781c6ad06210fdec7453fa0d0192e..cd9db606c7d5cd2f558d24685320b31865ef163f 100644 (file)
@@ -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;