rrichards               Sun Aug 24 06:18:09 2003 EDT

  Modified files:              
    /php-src/ext/xsl    xsltprocessor.c php_xsl.h php_xsl.c 
  Log:
  remove document pointer references as doc is now copied
  
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.11 php-src/ext/xsl/xsltprocessor.c:1.12
--- php-src/ext/xsl/xsltprocessor.c:1.11        Wed Aug 20 13:58:55 2003
+++ php-src/ext/xsl/xsltprocessor.c     Sun Aug 24 06:18:08 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: xsltprocessor.c,v 1.11 2003/08/20 17:58:55 rrichards Exp $ */
+/* $Id: xsltprocessor.c,v 1.12 2003/08/24 10:18:08 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -144,6 +144,7 @@
        sheetp = xsltParseStylesheetDoc(newdoc);
 
        if (!sheetp) {
+               xmlFreeDoc(newdoc);
                RETURN_FALSE;
        }
 
@@ -153,21 +154,9 @@
                if (((xsltStylesheetPtr) intern->ptr)->_private != NULL) {
                        ((xsltStylesheetPtr) intern->ptr)->_private = NULL;   
                }
-               if (intern->document != NULL) {
-                       if (--intern->document->refcount == 0) {
-                               xmlFreeDoc((xmlDocPtr) intern->document->ptr);
-                               efree(intern->document);
-                       }
-                       ((xsltStylesheetPtr) intern->ptr)->doc = NULL;
-                       intern->document = NULL;
-               }
                xsltFreeStylesheet((xsltStylesheetPtr) intern->ptr);
                intern->ptr = NULL;
        }
-
-       intern->document = emalloc(sizeof(dom_ref_obj));
-       intern->document->ptr = newdoc;
-       intern->document->refcount = 1;
 
        php_xsl_set_object(id, sheetp TSRMLS_CC);
 }
Index: php-src/ext/xsl/php_xsl.h
diff -u php-src/ext/xsl/php_xsl.h:1.3 php-src/ext/xsl/php_xsl.h:1.4
--- php-src/ext/xsl/php_xsl.h:1.3       Tue Jun 10 16:03:40 2003
+++ php-src/ext/xsl/php_xsl.h   Sun Aug 24 06:18:08 2003
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xsl.h,v 1.3 2003/06/10 20:03:40 imajes Exp $ */
+/* $Id: php_xsl.h,v 1.4 2003/08/24 10:18:08 rrichards Exp $ */
 
 #ifndef PHP_XSL_H
 #define PHP_XSL_H
@@ -45,7 +45,6 @@
 typedef struct _xsl_object {
        zend_object  std;
        void *ptr;
-       dom_ref_obj *document;
        HashTable *prop_handler;
        zend_object_handle handle;
     HashTable *parameter;
Index: php-src/ext/xsl/php_xsl.c
diff -u php-src/ext/xsl/php_xsl.c:1.7 php-src/ext/xsl/php_xsl.c:1.8
--- php-src/ext/xsl/php_xsl.c:1.7       Mon Aug 18 21:30:27 2003
+++ php-src/ext/xsl/php_xsl.c   Sun Aug 24 06:18:08 2003
@@ -16,7 +16,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: php_xsl.c,v 1.7 2003/08/19 01:30:27 wez Exp $ */
+/* $Id: php_xsl.c,v 1.8 2003/08/24 10:18:08 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -76,7 +76,6 @@
 /* {{{ xsl_objects_dtor */
 void xsl_objects_dtor(void *object, zend_object_handle handle TSRMLS_DC)
 {
-       /* TODO */
        xsl_object *intern = (xsl_object *)object;
 
        zend_hash_destroy(intern->std.properties);
@@ -90,14 +89,6 @@
                if (((xsltStylesheetPtr) intern->ptr)->_private != NULL) {
                        ((xsltStylesheetPtr) intern->ptr)->_private = NULL;   
                }
-               if (intern->document != NULL) {
-                       if (--intern->document->refcount == 0) {
-                               xmlFreeDoc((xmlDocPtr) intern->document->ptr);
-                               efree(intern->document);
-                       }
-                       ((xsltStylesheetPtr) intern->ptr)->doc = NULL;
-                       intern->document = NULL;
-               }
 
                xsltFreeStylesheet((xsltStylesheetPtr) intern->ptr);
                intern->ptr = NULL;
@@ -119,7 +110,6 @@
        intern->ptr = NULL;
        intern->prop_handler = NULL;
        intern->parameter = NULL;
-       intern->document = NULL;
 
        ALLOC_HASHTABLE(intern->std.properties);
        zend_hash_init(intern->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to