summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2000-08-20 15:59:54 +0000
committerStanislav Malyshev <stas@php.net>2000-08-20 15:59:54 +0000
commit50161c9ee803311df0ff9264ae64782dd67f75fe (patch)
tree066a18e0e1eca241a07ca3dbc32c83232fe30c29 /ext/xml/xml.c
parentb6978fe1af88dd1d8068fb415e4dc1271b1d2434 (diff)
downloadphp-git-50161c9ee803311df0ff9264ae64782dd67f75fe.tar.gz
Fix XML by-reference passing
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index 42cfc170c1..551850eb11 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -94,9 +94,12 @@ int _xml_externalEntityRefHandler(XML_Parser, const XML_Char *, const XML_Char
/* }}} */
/* {{{ extension definition structures */
+static unsigned char second_arg_force_ref[] = { 2, BYREF_NONE, BYREF_FORCE };
+static unsigned char third_and_fourth_args_force_ref[] = { 4, BYREF_NONE, BYREF_NONE, BYREF_FORCE, BYREF_FORCE };
+
function_entry xml_functions[] = {
PHP_FE(xml_parser_create, NULL)
- PHP_FE(xml_set_object, NULL)
+ PHP_FE(xml_set_object, second_arg_force_ref)
PHP_FE(xml_set_element_handler, NULL)
PHP_FE(xml_set_character_data_handler, NULL)
PHP_FE(xml_set_processing_instruction_handler, NULL)
@@ -105,7 +108,7 @@ function_entry xml_functions[] = {
PHP_FE(xml_set_notation_decl_handler, NULL)
PHP_FE(xml_set_external_entity_ref_handler, NULL)
PHP_FE(xml_parse, NULL)
- PHP_FE(xml_parse_into_struct, NULL)
+ PHP_FE(xml_parse_into_struct, third_and_fourth_args_force_ref)
PHP_FE(xml_get_error_code, NULL)
PHP_FE(xml_error_string, NULL)
PHP_FE(xml_get_current_line_number, NULL)