cvs: php4(PHP_4_2_0) /ext/domxml php_domxml.c
| From: | Christian Stocker | Date: | Mon, 19 Aug 2002 07:27:34 +0000 |
| Subject: | cvs: php4(PHP_4_2_0) /ext/domxml php_domxml.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-13457@lists.php.net to get a copy of this message | ||
chregu Mon Aug 19 03:27:34 2002 EDT
Modified files: (Branch: PHP_4_2_0)
/php4/ext/domxml php_domxml.c
Log:
MFH 1.174 (Make domxml_xslt_process() working again.)
MDH 1.187 (DOMXML crash on removing previously created attributes)
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.118.2.12 php4/ext/domxml/php_domxml.c:1.118.2.13
--- php4/ext/domxml/php_domxml.c:1.118.2.12 Wed Jun 12 07:13:35 2002
+++ php4/ext/domxml/php_domxml.c Mon Aug 19 03:27:33 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.118.2.12 2002/06/12 11:13:35 chregu Exp $ */
+/* $Id: php_domxml.c,v 1.118.2.13 2002/08/19 07:27:33 chregu Exp $ */
/* TODO
* - Support Notation Nodes
@@ -589,6 +589,16 @@
}
+static void php_free_xml_attr(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+{
+ xmlNodePtr node = (xmlNodePtr) rsrc->ptr;
+ if (node->parent == NULL) {
+ node_wrapper_dtor(node);
+ xmlFreeProp((xmlAttrPtr) node);
+ } else {
+ node_wrapper_dtor(node);
+ }
+}
#if defined(LIBXML_XPATH_ENABLED)
static void php_free_xpath_context(zend_rsrc_list_entry *rsrc TSRMLS_DC)
@@ -1257,7 +1267,7 @@
*/
le_domxmlnodep = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domnode",
module_number);
le_domxmlcommentp = zend_register_list_destructors_ex(php_free_xml_node, NULL,
"domnode", module_number);
- le_domxmlattrp = zend_register_list_destructors_ex(php_free_xml_node, NULL,
"domattribute", module_number);
+ le_domxmlattrp = zend_register_list_destructors_ex(php_free_xml_attr, NULL,
"domattribute", module_number);
le_domxmltextp = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domtext",
module_number);
le_domxmlelementp = zend_register_list_destructors_ex(php_free_xml_node, NULL,
"domelement", module_number);
le_domxmldtdp = zend_register_list_destructors_ex(php_free_xml_node, NULL, "domdtd",
module_number);
@@ -4277,7 +4287,7 @@
- test other stuff
- check xsltsp->errors ???
*/
- zval *rv, *idxsl, *idxml, *idparams = NULL;
+ zval *rv = NULL, *idxsl, *idxml, *idparams = NULL;
zend_bool xpath_params = 0;
xsltStylesheetPtr xsltstp;
xmlDocPtr xmldocp;