summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c11
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();