rrichards               Mon Mar  1 07:43:34 2004 EDT

  Modified files:              
    /php-src/ext/xsl    xsltprocessor.c 
  Log:
  use php_libxml_import_node for transform functions
  
http://cvs.php.net/diff.php/php-src/ext/xsl/xsltprocessor.c?r1=1.24&r2=1.25&ty=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.24 php-src/ext/xsl/xsltprocessor.c:1.25
--- php-src/ext/xsl/xsltprocessor.c:1.24        Mon Mar  1 07:09:24 2004
+++ php-src/ext/xsl/xsltprocessor.c     Mon Mar  1 07:43:34 2004
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: xsltprocessor.c,v 1.24 2004/03/01 12:09:24 rrichards Exp $ */
+/* $Id: xsltprocessor.c,v 1.25 2004/03/01 12:43:34 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -379,12 +379,12 @@
 {
        zval *id, *rv = NULL, *docp = NULL;
        xmlDoc *doc = NULL;
+       xmlNodePtr node = NULL;
        xmlDoc *newdocp;
        xsltStylesheetPtr sheetp;
        int ret, clone;
        char **params = NULL;
        xsl_object *intern;
-       php_libxml_node_object *docobj;
        
        id = getThis();
        intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
@@ -393,7 +393,16 @@
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &docp) == FAILURE) {
                RETURN_FALSE;
        }
-       DOC_GET_OBJ(doc, docp, xmlDocPtr, docobj);
+
+       node = php_libxml_import_node(docp TSRMLS_CC);
+       
+       if (node) {
+               doc = node->doc;
+       }
+       if (doc == NULL) {
+               php_error(E_WARNING, "Invalid Document");
+               RETURN_NULL();
+       }
 
        if (intern->parameter) {
                params = php_xsl_xslt_make_params(intern->parameter, 0 TSRMLS_CC);
@@ -437,11 +446,11 @@
        zval *id, *docp = NULL;
        xmlDoc *doc = NULL;
        xmlDoc *newdocp;
+       xmlNodePtr node = NULL;
        xsltStylesheetPtr sheetp;
        int ret, uri_len, clone;
        char **params = NULL, *uri;
        xsl_object *intern;
-       php_libxml_node_object *docobj;
        
        id = getThis();
        intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
@@ -451,7 +460,15 @@
                RETURN_FALSE;
        }
 
-       DOC_GET_OBJ(doc, docp, xmlDocPtr, docobj);
+       node = php_libxml_import_node(docp TSRMLS_CC);
+       
+       if (node) {
+               doc = node->doc;
+       }
+       if (doc == NULL) {
+               php_error(E_WARNING, "Invalid Document");
+               RETURN_NULL();
+       }
 
        if (intern->parameter) {
                params = php_xsl_xslt_make_params(intern->parameter, 0 TSRMLS_CC);
@@ -497,13 +514,13 @@
        zval *id, *docp = NULL;
        xmlDoc *doc = NULL;
        xmlDoc *newdocp;
+       xmlNodePtr node = NULL;
        xsltStylesheetPtr sheetp;
        int ret, clone;
        xmlChar *doc_txt_ptr;
        int doc_txt_len;
        char **params = NULL;
        xsl_object *intern;
-       php_libxml_node_object *docobj;
        
        id = getThis();
        intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
@@ -512,7 +529,16 @@
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &docp) == FAILURE) {
                RETURN_FALSE;
        }
-       DOC_GET_OBJ(doc, docp, xmlDocPtr, docobj);
+
+       node = php_libxml_import_node(docp TSRMLS_CC);
+       
+       if (node) {
+               doc = node->doc;
+       }
+       if (doc == NULL) {
+               php_error(E_WARNING, "Invalid Document");
+               RETURN_NULL();
+       }
 
        if (intern->parameter) {
                params = php_xsl_xslt_make_params(intern->parameter, 0 TSRMLS_CC);

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

Reply via email to