summaryrefslogtreecommitdiff
path: root/ext/dom/php_dom.c
diff options
context:
space:
mode:
authorRob Richards <rrichards@php.net>2003-09-29 11:43:26 +0000
committerRob Richards <rrichards@php.net>2003-09-29 11:43:26 +0000
commitb437ac77bcd70027a848874222e5427afacb479e (patch)
treeafec646250cb1e04f6d8cbabfe5bc97c1e1667d2 /ext/dom/php_dom.c
parent5fa23c593bab220f81a9930947b2b28a6e2c0611 (diff)
downloadphp-git-b437ac77bcd70027a848874222e5427afacb479e.tar.gz
add property_get_ptr handler
fix possible segfault in xpath add wide character support for characterdata
Diffstat (limited to 'ext/dom/php_dom.c')
-rw-r--r--ext/dom/php_dom.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/ext/dom/php_dom.c b/ext/dom/php_dom.c
index 6654ac5946..a6bb8e4659 100644
--- a/ext/dom/php_dom.c
+++ b/ext/dom/php_dom.c
@@ -405,6 +405,17 @@ void dom_write_property(zval *object, zval *member, zval *value TSRMLS_DC)
}
/* }}} */
+static zval **dom_property_get_ptr(zval *object, zval *member TSRMLS_DC)
+{
+ zval **prop_ptr;
+ zval *property;
+
+ property = dom_read_property(object, member, 0 TSRMLS_CC);
+ prop_ptr = &property;
+
+ return prop_ptr;
+}
+
zend_module_entry dom_module_entry = {
STANDARD_MODULE_HEADER,
"dom",
@@ -430,6 +441,7 @@ PHP_MINIT_FUNCTION(dom)
memcpy(&dom_object_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
dom_object_handlers.read_property = dom_read_property;
dom_object_handlers.write_property = dom_write_property;
+ dom_object_handlers.get_property_ptr = dom_property_get_ptr;
zend_hash_init(&classes, 0, NULL, NULL, 1);