diff options
Diffstat (limited to 'ext/xmlreader/php_xmlreader.c')
-rw-r--r-- | ext/xmlreader/php_xmlreader.c | 55 |
1 files changed, 22 insertions, 33 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c index 4d4e7348c9..93888e49a1 100644 --- a/ext/xmlreader/php_xmlreader.c +++ b/ext/xmlreader/php_xmlreader.c @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | PHP Version 7 | +----------------------------------------------------------------------+ - | Copyright (c) 1997-2018 The PHP Group | + | Copyright (c) The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | @@ -181,7 +181,7 @@ zval *xmlreader_read_property(zval *object, zval *member, int type, void **cache /* }}} */ /* {{{ xmlreader_write_property */ -void xmlreader_write_property(zval *object, zval *member, zval *value, void **cache_slot) +zval *xmlreader_write_property(zval *object, zval *member, zval *value, void **cache_slot) { xmlreader_object *obj; zval tmp_member; @@ -200,12 +200,14 @@ void xmlreader_write_property(zval *object, zval *member, zval *value, void **ca if (hnd != NULL) { php_error_docref(NULL, E_WARNING, "Cannot write to read-only property"); } else { - zend_std_write_property(object, member, value, cache_slot); + value = zend_std_write_property(object, member, value, cache_slot); } if (member == &tmp_member) { zval_ptr_dtor_str(&tmp_member); } + + return value; } /* }}} */ @@ -402,7 +404,7 @@ static void php_xmlreader_string_arg(INTERNAL_FUNCTION_PARAMETERS, xmlreader_rea RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -424,7 +426,7 @@ static void php_xmlreader_no_arg(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_in int retval; xmlreader_object *intern; - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -442,14 +444,13 @@ static void php_xmlreader_free_prop_handler(zval *el) /* {{{ */ { pefree(Z_PTR_P(el), 1); } /* }}} */ -#if LIBXML_VERSION >= 20620 /* {{{ php_xmlreader_no_arg_string */ static void php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAMETERS, xmlreader_read_char_t internal_function) { zval *id; char *retchar = NULL; xmlreader_object *intern; - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -464,7 +465,6 @@ static void php_xmlreader_no_arg_string(INTERNAL_FUNCTION_PARAMETERS, xmlreader_ } } /* }}} */ -#endif /* {{{ php_xmlreader_set_relaxng_schema */ static void php_xmlreader_set_relaxng_schema(INTERNAL_FUNCTION_PARAMETERS, int type) { @@ -485,7 +485,7 @@ static void php_xmlreader_set_relaxng_schema(INTERNAL_FUNCTION_PARAMETERS, int t RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -528,7 +528,7 @@ PHP_METHOD(xmlreader, close) zval *id; xmlreader_object *intern; - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); /* libxml is segfaulting in versions up to 2.6.8 using xmlTextReaderClose so for now we will free the whole reader when close is called as it would get rebuilt on @@ -560,7 +560,7 @@ PHP_METHOD(xmlreader, getAttributeNo) return; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -591,7 +591,7 @@ PHP_METHOD(xmlreader, getAttributeNs) RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -617,7 +617,7 @@ PHP_METHOD(xmlreader, getParserProperty) return; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -669,7 +669,7 @@ PHP_METHOD(xmlreader, moveToAttribute) RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -697,7 +697,7 @@ PHP_METHOD(xmlreader, moveToAttributeNo) return; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -731,7 +731,7 @@ PHP_METHOD(xmlreader, moveToAttributeNs) RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -777,7 +777,7 @@ PHP_METHOD(xmlreader, read) int retval; xmlreader_object *intern; - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern != NULL && intern->ptr != NULL) { retval = xmlTextReaderRead(intern->ptr); @@ -807,15 +807,9 @@ PHP_METHOD(xmlreader, next) return; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern != NULL && intern->ptr != NULL) { -#if LIBXML_VERSION <= 20617 - /* Bug in libxml prevents a next in certain cases when positioned on end of element */ - if (xmlTextReaderNodeType(intern->ptr) == XML_READER_TYPE_END_ELEMENT) { - retval = xmlTextReaderRead(intern->ptr); - } else -#endif retval = xmlTextReaderNext(intern->ptr); while (name != NULL && retval == 1) { if (xmlStrEqual(xmlTextReaderConstLocalName(intern->ptr), (xmlChar *)name)) { @@ -899,7 +893,6 @@ PHP_METHOD(xmlreader, resetState) } */ -#if LIBXML_VERSION >= 20620 /* {{{ proto string XMLReader::readInnerXml() Reads the contents of the current node, including child nodes and markup. */ PHP_METHOD(xmlreader, readInnerXml) @@ -944,7 +937,7 @@ PHP_METHOD(xmlreader, setSchema) RETURN_FALSE; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -965,7 +958,6 @@ PHP_METHOD(xmlreader, setSchema) #endif } /* }}} */ -#endif /* {{{ proto bool XMLReader::setParserProperty(int property, bool value) Sets parser property (one of the parser option constants). @@ -982,7 +974,7 @@ PHP_METHOD(xmlreader, setParserProperty) return; } - id = getThis(); + id = ZEND_THIS; intern = Z_XMLREADER_P(id); if (intern && intern->ptr) { @@ -1071,9 +1063,7 @@ PHP_METHOD(xmlreader, XML) reader = xmlNewTextReader(inputbfr, uri); if (reader != NULL) { -#if LIBXML_VERSION >= 20628 ret = xmlTextReaderSetup(reader, NULL, uri, encoding, options); -#endif if (ret == 0) { if (id == NULL) { object_init_ex(return_value, xmlreader_class_entry); @@ -1117,7 +1107,8 @@ PHP_METHOD(xmlreader, expand) xmlDocPtr docp = NULL; php_libxml_node_object *domobj = NULL; - if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "O|O!", &id, xmlreader_class_entry, &basenode, dom_node_class_entry) == FAILURE) { + id = ZEND_THIS; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|O!", &basenode, dom_node_class_entry) == FAILURE) { return; } @@ -1271,12 +1262,10 @@ static const zend_function_entry xmlreader_functions[] /* {{{ */ = { PHP_ME(xmlreader, open, arginfo_xmlreader_open, ZEND_ACC_PUBLIC|ZEND_ACC_ALLOW_STATIC) PHP_ME(xmlreader, read, arginfo_xmlreader_read, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, next, arginfo_xmlreader_next, ZEND_ACC_PUBLIC) -#if LIBXML_VERSION >= 20620 PHP_ME(xmlreader, readInnerXml, arginfo_xmlreader_readInnerXml, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, readOuterXml, arginfo_xmlreader_readOuterXml, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, readString, arginfo_xmlreader_readString, ZEND_ACC_PUBLIC) PHP_ME(xmlreader, setSchema, arginfo_xmlreader_setSchema, ZEND_ACC_PUBLIC) -#endif /* Not Yet Implemented though defined in libxml as of 2.6.9dev PHP_ME(xmlreader, resetState, NULL, ZEND_ACC_PUBLIC) */ |