diff options
author | Rob Richards <rrichards@php.net> | 2004-03-01 12:09:24 +0000 |
---|---|---|
committer | Rob Richards <rrichards@php.net> | 2004-03-01 12:09:24 +0000 |
commit | 76ee5707f76aeaefbe128b1cd0ea1d5521c860c7 (patch) | |
tree | 1506c10ed79407170b7b6ac039162dc65dc5a2bd /ext/libxml/php_libxml.h | |
parent | 9f9151473c5a14c45faf4e2f804097ec83c9b00d (diff) | |
download | php-git-76ee5707f76aeaefbe128b1cd0ea1d5521c860c7.tar.gz |
Fix bug #27436 dom_import_simplexml innaccurate
extensions register callbacks to export nodes
prevents segfault passing invalid objects to import functions
Diffstat (limited to 'ext/libxml/php_libxml.h')
-rw-r--r-- | ext/libxml/php_libxml.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h index d1c6b86903..ab47e202fb 100644 --- a/ext/libxml/php_libxml.h +++ b/ext/libxml/php_libxml.h @@ -64,11 +64,15 @@ typedef struct _php_libxml_node_object { HashTable *properties; } php_libxml_node_object; +typedef void * (*php_libxml_export_node) (zval *object TSRMLS_DC); + PHP_FUNCTION(libxml_set_streams_context); int php_libxml_increment_node_ptr(php_libxml_node_object *object, xmlNodePtr node, void *private_data TSRMLS_DC); int php_libxml_decrement_node_ptr(php_libxml_node_object *object TSRMLS_DC); int php_libxml_increment_doc_ref(php_libxml_node_object *object, xmlDocPtr docp TSRMLS_DC); int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC); +PHP_LIBXML_API xmlNodePtr php_libxml_import_node(zval *object TSRMLS_DC); +PHP_LIBXML_API int php_libxml_register_export(zend_class_entry *ce, php_libxml_export_node export_function); /* When an explicit freeing of node and children is required */ void php_libxml_node_free_resource(xmlNodePtr node TSRMLS_DC); /* When object dtor is called as node may still be referenced */ |