diff options
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r-- | ext/xml/xml.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c index 307608ae8b..3f7a81e6f0 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -253,11 +253,8 @@ static void php_xml_free_wrapper(void *ptr) PHP_MINIT_FUNCTION(xml) { - zend_class_entry ce; - INIT_CLASS_ENTRY(ce, "XMLParser", class_XMLParser_methods); - xml_parser_ce = zend_register_internal_class(&ce); + xml_parser_ce = register_class_XMLParser(); xml_parser_ce->create_object = xml_parser_create_object; - xml_parser_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NO_DYNAMIC_PROPERTIES; xml_parser_ce->serialize = zend_class_serialize_deny; xml_parser_ce->unserialize = zend_class_unserialize_deny; @@ -438,7 +435,7 @@ static void xml_set_handler(zval *handler, zval *data) /* IS_ARRAY might indicate that we're using array($obj, 'method') syntax */ if (Z_TYPE_P(data) != IS_ARRAY && Z_TYPE_P(data) != IS_OBJECT) { - convert_to_string_ex(data); + convert_to_string(data); if (Z_STRLEN_P(data) == 0) { ZVAL_UNDEF(handler); return; @@ -816,7 +813,7 @@ void _xml_characterDataHandler(void *userData, const XML_Char *s, int len) ZEND_HASH_REVERSE_FOREACH_VAL(Z_ARRVAL(parser->data), curtag) { if ((mytype = zend_hash_str_find(Z_ARRVAL_P(curtag),"type", sizeof("type") - 1))) { - if (!strcmp(Z_STRVAL_P(mytype), "cdata")) { + if (zend_string_equals_literal(Z_STR_P(mytype), "cdata")) { if ((myval = zend_hash_str_find(Z_ARRVAL_P(curtag), "value", sizeof("value") - 1))) { int newlen = Z_STRLEN_P(myval) + ZSTR_LEN(decoded_value); Z_STR_P(myval) = zend_string_extend(Z_STR_P(myval), newlen, 0); @@ -1250,7 +1247,7 @@ PHP_FUNCTION(xml_parse) char *data; size_t data_len; int ret; - zend_bool isFinal = 0; + bool isFinal = 0; if (zend_parse_parameters(ZEND_NUM_ARGS(), "Os|b", &pind, xml_parser_ce, &data, &data_len, &isFinal) == FAILURE) { RETURN_THROWS(); |