summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Richards <rrichards@php.net>2005-11-23 02:54:10 +0000
committerRob Richards <rrichards@php.net>2005-11-23 02:54:10 +0000
commitfba57a97ca6a925a36ffebfe2fa1a123c52d3b96 (patch)
tree61588d67c354a7d35c187d5b89903894975f14c2
parent73e686934021a1c30af044d950404db4f46908e6 (diff)
downloadphp-git-fba57a97ca6a925a36ffebfe2fa1a123c52d3b96.tar.gz
move document property struct from xml_common.h
-rw-r--r--ext/libxml/libxml.c4
-rw-r--r--ext/libxml/php_libxml.h13
2 files changed, 16 insertions, 1 deletions
diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
index adb48bd7a5..0ac351d997 100644
--- a/ext/libxml/libxml.c
+++ b/ext/libxml/libxml.c
@@ -952,6 +952,10 @@ int php_libxml_decrement_doc_ref(php_libxml_node_object *object TSRMLS_DC) {
xmlFreeDoc((xmlDoc *) object->document->ptr);
}
if (object->document->doc_props != NULL) {
+ if (object->document->doc_props->classmap) {
+ zend_hash_destroy(object->document->doc_props->classmap);
+ FREE_HASHTABLE(object->document->doc_props->classmap);
+ }
efree(object->document->doc_props);
}
efree(object->document);
diff --git a/ext/libxml/php_libxml.h b/ext/libxml/php_libxml.h
index 584465fd37..ffefff362e 100644
--- a/ext/libxml/php_libxml.h
+++ b/ext/libxml/php_libxml.h
@@ -43,10 +43,21 @@ typedef struct {
zend_llist *error_list;
} php_libxml_globals;
+typedef struct _libxml_doc_props {
+ int formatoutput;
+ int validateonparse;
+ int resolveexternals;
+ int preservewhitespace;
+ int substituteentities;
+ int stricterror;
+ int recover;
+ HashTable *classmap;
+} libxml_doc_props;
+
typedef struct _php_libxml_ref_obj {
void *ptr;
int refcount;
- void *doc_props;
+ libxml_doc_props *doc_props;
} php_libxml_ref_obj;
typedef struct _php_libxml_node_ptr {