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