summaryrefslogtreecommitdiff
path: root/ext/dom/xml_common.h
diff options
context:
space:
mode:
authorRob Richards <rrichards@php.net>2003-06-07 13:30:58 +0000
committerRob Richards <rrichards@php.net>2003-06-07 13:30:58 +0000
commit0565d9724bb3ea229b004e5a21b0d7ab8a62a553 (patch)
treec1c34ba23ec04eca75157e4e2734499f60fb4c58 /ext/dom/xml_common.h
parenteccfbe5f88651a50e2c6994f6f357d3e176e2ced (diff)
downloadphp-git-0565d9724bb3ea229b004e5a21b0d7ab8a62a553.tar.gz
fix more memory overruns
initial definition for document ref counting fixed property access to support all objects clear property handler from invalid objects until ref count implemented
Diffstat (limited to 'ext/dom/xml_common.h')
-rw-r--r--ext/dom/xml_common.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/dom/xml_common.h b/ext/dom/xml_common.h
index 6188e56020..0c88bae040 100644
--- a/ext/dom/xml_common.h
+++ b/ext/dom/xml_common.h
@@ -27,9 +27,15 @@ typedef struct _node_list_pointer {
void *next;
} node_list_pointer;
+typedef struct _dom_ref_obj {
+ void *ptr;
+ int refcount;
+} dom_ref_obj;
+
typedef struct _dom_object {
zend_object std;
void *ptr;
+ dom_ref_obj *document;
HashTable *prop_handler;
node_list_pointer *node_list;
} dom_object;
@@ -71,7 +77,6 @@ zend_object_handlers dom_object_handlers;
INIT_CLASS_ENTRY(ce, name, funcs); \
ce.create_object = dom_objects_new; \
entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);
-/* entry = zend_register_internal_ns_class(&ce, parent_ce, ns, NULL TSRMLS_CC); */
#define DOM_GET_OBJ(__ptr, __id, __prtype) { \
dom_object *intern = (dom_object *)zend_object_store_get_object(__id TSRMLS_CC); \