diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2018-10-16 18:47:31 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2018-10-16 18:47:31 +0200 |
commit | b33124239af07c9349cba42a516b9f00e8357445 (patch) | |
tree | fe80c8a0e5b6d0fb99a2536c29afe1d7690465cd | |
parent | 113213f0277562a4ca6d020cb28ba98321d3c62a (diff) | |
download | php-git-b33124239af07c9349cba42a516b9f00e8357445.tar.gz |
Add support for getting SKIP_TAGSTART and SKIP_WHITE options
When `XML_OPTION_SKIP_TAGSTART` and `XML_OPTION_SKIP_WHITE` had been
introduced[1], it had been overlooked to also support them for
`xml_parser_get_option()`. We catch up on that.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=b57dc275950b228f2399990471c4f22b7d154c6c>
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/xml/tests/xml_parser_get_option_variation3.phpt | 29 | ||||
-rw-r--r-- | ext/xml/xml.c | 6 |
3 files changed, 36 insertions, 0 deletions
@@ -28,6 +28,7 @@ PHP NEWS - XML: . Fixed bug #30875 (xml_parse_into_struct() does not resolve entities). (cmb) + . Add support for getting SKIP_TAGSTART and SKIP_WHITE options. (cmb) 11 Oct 2018, PHP 7.1.23 diff --git a/ext/xml/tests/xml_parser_get_option_variation3.phpt b/ext/xml/tests/xml_parser_get_option_variation3.phpt new file mode 100644 index 0000000000..839daa96dd --- /dev/null +++ b/ext/xml/tests/xml_parser_get_option_variation3.phpt @@ -0,0 +1,29 @@ +--TEST-- +xml_parser_get_option() with XML_OPTION_SKIP_TAGSTART and XML_OPTION_SKIP_WHITE +--SKIPIF-- +<?php +if (!extension_loaded('xml')) die('skip xml extension not available'); +?> +--FILE-- +<?php +$parser = xml_parser_create(); +echo "defaults:\n"; +var_dump(xml_parser_get_option($parser, XML_OPTION_SKIP_TAGSTART)); +var_dump(xml_parser_get_option($parser, XML_OPTION_SKIP_WHITE)); +echo "setting:\n"; +var_dump(xml_parser_set_option($parser, XML_OPTION_SKIP_TAGSTART, 7)); +var_dump(xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1)); +echo "getting:\n"; +var_dump(xml_parser_get_option($parser, XML_OPTION_SKIP_TAGSTART)); +var_dump(xml_parser_get_option($parser, XML_OPTION_SKIP_WHITE)); +?> +--EXPECT-- +defaults: +int(0) +int(0) +setting: +bool(true) +bool(true) +getting: +int(7) +int(1) diff --git a/ext/xml/xml.c b/ext/xml/xml.c index b1f8cc5bd9..373330f035 100644 --- a/ext/xml/xml.c +++ b/ext/xml/xml.c @@ -1653,6 +1653,12 @@ PHP_FUNCTION(xml_parser_get_option) case PHP_XML_OPTION_CASE_FOLDING: RETURN_LONG(parser->case_folding); break; + case PHP_XML_OPTION_SKIP_TAGSTART: + RETURN_LONG(parser->toffset); + break; + case PHP_XML_OPTION_SKIP_WHITE: + RETURN_LONG(parser->skipwhite); + break; case PHP_XML_OPTION_TARGET_ENCODING: RETURN_STRING((char *)parser->target_encoding); break; |