Commit graph

284 commits

Author SHA1 Message Date
George Peter Banyard
09efad615b
Use zend_string_equals_(literal_)ci() API more often
Also drive-by usage of zend_ini_parse_bool()

Closes GH-6844
2021-04-09 02:34:50 +01:00
Máté Kocsis
a730dc0cf9
Generate class entries for snmp, soap, sockets, sodium, sqlite3, sysv*, tidy
Closes GH-6696
2021-02-15 11:45:26 +01:00
Nikita Popov
c8f809fcff Remove unnecessary TRUE/FALSE defines in tidy
Instead use standard true/false.
2021-01-25 15:54:15 +01:00
Nikita Popov
3e01f5afb1 Replace zend_bool uses with bool
We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool is retained as an alias.
2021-01-15 12:33:06 +01:00
Christoph M. Becker
ce3ff8ec7d php_tidy_create_node() expects a fixed set of node_types
This static function is not supposed to deal with arbitrary
`node_type`s, so there is no need to do so.

Closes GH-6467.
2020-11-30 10:29:46 +01:00
Christoph M. Becker
9b1c02c2df Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #77594: ob_tidyhandler is never reset
2020-11-22 14:04:59 +01:00
Christoph M. Becker
221345a013 Fix #77594: ob_tidyhandler is never reset
We reset to original INI value on request shutdown.

Closes GH-6425.
2020-11-22 14:02:29 +01:00
Nikita Popov
6de6f2a4e9 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Don't crash on uninitialized tidy object
2020-10-22 16:05:57 +02:00
Nikita Popov
85d9a1ca6e Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Don't crash on uninitialized tidy object
2020-10-22 16:05:34 +02:00
Nikita Popov
d4bf0799b8 Don't crash on uninitialized tidy object
"Uninitialized" here means that the object was created ordinarily
-- no constructor skipping involved. Most tidy methods seem to
handle this fine, but these three need to be guarded.
2020-10-22 16:04:22 +02:00
Christoph M. Becker
c774619118 Merge branch 'PHP-7.4' into master
* PHP-7.4:
  Fix #77040: tidyNode::isHtml() is completely broken
2020-10-07 17:50:24 +02:00
Christoph M. Becker
ff3878adeb Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #77040: tidyNode::isHtml() is completely broken
2020-10-07 17:48:12 +02:00
Christoph M. Becker
e68acd031d Fix #77040: tidyNode::isHtml() is completely broken
The documentation of `tidyNode::isHtml()` states that this method
"checks if a node is part of a HTML document".  That is, of course,
nonsense, since a tidyNode is "an HTML node in an HTML file, as
detected by tidy."

What this method is actually supposed to do is to check whether a node
is an element (unless it is the root element).  This has been broken by
commit d8eeb8e[1], which assumed that `enum TidyNodeType` would
represent flags of a bitmask, what it does not.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=d8eeb8e28673236bca3f066ded75037a5bdf6378>

Closes GH-6290.
2020-10-07 17:43:56 +02:00
Máté Kocsis
c98d47696f
Consolidate new union type ZPP macro names
They will now follow the canonical order of types. Older macros are
left intact due to maintaining BC.

Closes GH-6112
2020-09-11 11:00:18 +02:00
Máté Kocsis
628db3f3b5
Fix UNKNOWN default values in various extensions
Closes GH-6075
2020-09-07 19:02:02 +02:00
Máté Kocsis
f7fbc6333f
Add more precise type info for stubs
Closes GH-6005
2020-09-01 16:35:56 +02:00
Máté Kocsis
7476d2c188
Promote warnings to exceptions in ext/tidy
Closes GH-6051
2020-09-01 14:18:02 +02:00
Max Semenik
2b5de6f839
Remove proto comments from C files
Closes GH-5758
2020-07-06 21:13:34 +02:00
George Peter Banyard
bc9497695e Fix [-Wundef] warning in Tidy extension 2020-05-18 00:37:18 +02:00
Máté Kocsis
c5fb4f0794
Generate function entries from stubs for a couple of extensions
Migrates ext/standard, ext/tidy, ext/tokenizer,
ext/xml, ext/xml_reader, and ext/xml_writer. Closes GH-5381.
2020-04-14 11:49:02 +02:00
Máté Kocsis
1b93cfee0c
Use RETURN_THROWS() after zend_parse_method_parameters() 2020-01-02 23:01:37 +01:00
Máté Kocsis
345703724c
Use RETURN_THROWS() during ZPP in most of the extensions
Except for some bigger ones: reflection, sodium, spl
2019-12-31 11:46:11 +01:00
Gabriel Caruso
5d6e923d46
Remove mention of PHP major version in Copyright headers
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Christoph M. Becker
3213e1e776 Just return on ZPP exception
No need to return FALSE.
2019-09-22 16:39:02 +02:00
Christoph M. Becker
5356bad8c6 Remove unused parameter
The `$use_include_path` parameter doesn't make sense for
`tidy_repair_string()`, and actually unused, so we remove it.
2019-09-22 16:28:42 +02:00
Christoph M. Becker
7f36328bf0 Add ext/tidy stubs 2019-09-22 16:18:33 +02:00
Christoph M. Becker
6072fe4342 Properly use zend_parse_method_parameters()
`zend_parse_method_parameters()` is meant for dual (procedural and OO)
APIs; there is no need to attempt to get "this" first, and to dispatch
to `zend_parse_parameters()` and `zend_parse_method_parameters()`,
respectively.
2019-09-22 16:18:33 +02:00
Nikita Popov
452076de44 Merge branch 'PHP-7.4' 2019-06-19 17:27:29 +02:00
Nikita Popov
608097a901 Fix various instances of memcpy null ub 2019-06-19 17:27:09 +02:00
Tyson Andre
c7d339a9d0 Indicate that tidy's object methods expect 0 args
This prevents subclasses from being written with incompatible
implementations, e.g. expecting more required args.
2019-02-19 09:41:47 +01:00
Nikita Popov
879cd04913 Merge branch 'PHP-7.4' 2019-02-18 17:51:41 +01:00
Tyson Andre
8588a45851 Fix arginfo for tidy's global functions
See https://secure.php.net/tidy_getopt , etc.

I can't find any other obvious incorrect reflection.
2019-02-18 17:49:02 +01:00
Dmitry Stogov
91ef4124e5 Refactor zend_object_handlers API to pass zend_object* and zend_string* insted of zval(s). 2019-02-04 13:20:25 +03:00
Peter Kokot
92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Zeev Suraski
0cf7de1c70 Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
Christoph M. Becker
0d6490598d Add TIDY_TAG_* constants supported by libtidy 5
Cf. <http://api.html-tidy.org/tidy/tidylib_api_5.0.0/tidyenum_8h.html#ae5b597c0999422ff383f08ab595ef5e8a16d20becf3c3cb022ddabccc83d8c314>.
2018-10-27 16:17:09 +02:00
Tyson Andre
dcd4b32185 Fix arginfo for tidy::__construct()
This was split out of PR #3439

Previously, the arginfo was wrong for these methods.
getNumberOfRequiredParameters() was 4 for that method.
Compare with http://php.net/manual/en/tidy.construct.php)

This fixes the arginfo added to PHP 7.3 in 97353cda99
2018-08-13 16:09:32 +02:00
Peter Kokot
cf6b24ccda Sync tidy phpinfo extension version
This patch removes the tidy extension Git ident attribute blob name from
the phpinfo output to be synced with other extensions versioning system
and replaces table header with normal row in the first tidy info table.
2018-06-04 17:10:49 +02:00
Dmitry Stogov
f2b4ec4bdc Export standard object handlers, to avoid indirect access 2018-05-31 11:57:22 +03:00
Dmitry Stogov
5eb1f92f31 Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence. 2018-05-28 16:27:12 +03:00
Gabriel Caruso
701437a948
Remove return types from some magic method in protos
__construct, __destruct, __wakeup does not have return types defined.
2018-03-09 12:04:46 +01:00
Gabriel Caruso
97353cda99
Fixes for #74707 some methods of tidy class didn't have arginfo declared 2018-02-12 09:30:23 +01:00
Gabriel Caruso
78ed55d7b7 Fixed bug #74707
Several tidy functions receive a tidy object as mandatory parameter
2018-02-10 19:10:01 +01:00
Gabriel Caruso
affc20f891 Use bool instead of boolean in proto 2018-02-04 17:00:24 +01:00
Anatol Belski
9edf2e9f96 Show the tidyp name, if it was used 2018-01-25 18:55:54 +01:00
David Carlier
e7da9685cf Tidy extension update to be able to either use tidy or tidyp at configure time 2018-01-25 18:28:55 +01:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Nikita Popov
b2b2b437af Add _IS_NUMBER as cast_object() target type
convert_scalar_to_number() will now call cast_object() with an
_IS_NUMBER argument, in which case the cast handler should return
either an integer or floating point number, whichever is more
appropriate.

Previously convert_scalar_to_number() unconditionally converted
objects to integers instead.

Fixes bug #53033.
Fixes bug #54973.
Fixes bug #73108.
2017-12-26 12:39:06 +01:00
Dmitry Stogov
6a9d2b2190 Cleanup type conversion 2017-12-07 19:24:55 +03:00
Nikita Popov
b72b1a4e4d Add zend_object_alloc() API
Using ecalloc() to create objects is expensive, because the
dynamic-size memset() is unreasonably slow. Make sure we only
zero the main object structure with known size, as the properties
are intialized separately anyway.

Technically we do not need to zero the embedded zend_object
structure either, but as long as the memset argument is constant,
a couple more bytes don't really matter.
2017-11-25 17:12:37 +01:00