]> granicus.if.org Git - php/log
php
4 years agoRemove dated results from ext/hash/bench.php
Nikita Popov [Mon, 26 Oct 2020 11:24:32 +0000 (12:24 +0100)]
Remove dated results from ext/hash/bench.php

These are not exactly representative anymore.

4 years agoMerge branch 'PHP-8.0'
Christoph M. Becker [Mon, 26 Oct 2020 10:55:46 +0000 (11:55 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix #62474: com_event_sink crashes on certain arguments

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:55:10 +0000 (11:55 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #62474: com_event_sink crashes on certain arguments

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:54:33 +0000 (11:54 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #62474: com_event_sink crashes on certain arguments

4 years agoFix #62474: com_event_sink crashes on certain arguments
Christoph M. Becker [Thu, 22 Oct 2020 15:50:22 +0000 (17:50 +0200)]
Fix #62474: com_event_sink crashes on certain arguments

We have to make sure that the variant is of type `VT_DISPATCH` before
we access it as such.

Closes GH-6372.

4 years agoRaise E_WARNING on PHP related errors
Christoph M. Becker [Tue, 20 Oct 2020 10:31:58 +0000 (12:31 +0200)]
Raise E_WARNING on PHP related errors

If Zip operations fails due to PHP error conditions before libzip even
has been called, there is no meaningful indication what failed; the
functions just return false, and the Zip status indicated that no error
did occur.  Therefore we raise `E_WARNING` in these cases.

Closes GH-6356.

4 years agoMerge branch 'PHP-8.0'
Christoph M. Becker [Mon, 26 Oct 2020 10:22:55 +0000 (11:22 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix #80258: Windows Deduplication Enabled, randon permission errors

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:22:16 +0000 (11:22 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80258: Windows Deduplication Enabled, randon permission errors

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:21:35 +0000 (11:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80258: Windows Deduplication Enabled, randon permission errors

4 years agoFix #80258: Windows Deduplication Enabled, randon permission errors
Christoph M. Becker [Mon, 19 Oct 2020 15:41:58 +0000 (17:41 +0200)]
Fix #80258: Windows Deduplication Enabled, randon permission errors

A recent bug fix regarding symlinks claimed:

> After resolving reparse points, the path still may be a reparse
> point; in that case we have to resolve that reparse point as well.

While that is basically correct, some reparse points may point to
inaccessible system folders (e.g. `IO_REPARSE_TAG_DEDUP` points to
"\System Volume Information").  Since we don't know details about
arbitrary reparse points, and are mainly interested in nested symlinks,
we take a step back, and only resolve `IO_REPARSE_TAG_SYMLINK` for now.

Close GH-6354.

4 years agoMerge branch 'PHP-8.0'
Christoph M. Becker [Mon, 26 Oct 2020 10:06:25 +0000 (11:06 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 10:05:48 +0000 (11:05 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 10:04:57 +0000 (11:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

4 years agoFix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date
Christoph M. Becker [Sat, 24 Oct 2020 14:08:02 +0000 (16:08 +0200)]
Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date

`ADD_EXTENSION_DEP()` relies on the `PHP_<extname>` config variables to
be set to `"yes"`, and since the standard and date extension are always
enabled, we define the respective variables uncoditionally.

Closes GH-6383.

4 years agoMerge branch 'PHP-8.0'
Christoph M. Becker [Mon, 26 Oct 2020 10:00:13 +0000 (11:00 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix bug 76618
  Fix bug 76618

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Christoph M. Becker [Mon, 26 Oct 2020 09:59:46 +0000 (10:59 +0100)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix bug 76618
  Fix bug 76618

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 26 Oct 2020 09:58:26 +0000 (10:58 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug 76618

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Mon, 26 Oct 2020 08:26:26 +0000 (09:26 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Use separate directory in dit_004.phpt

4 years agoUse separate directory in dit_004.phpt
Nikita Popov [Mon, 26 Oct 2020 08:25:38 +0000 (09:25 +0100)]
Use separate directory in dit_004.phpt

Make sure the directory is not modified while we're iterating it,
which may give unstable results.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Mon, 26 Oct 2020 08:05:37 +0000 (09:05 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix parameter stats generation

[ci skip]

4 years agoFix parameter stats generation
Nikita Popov [Mon, 26 Oct 2020 08:05:25 +0000 (09:05 +0100)]
Fix parameter stats generation

[ci skip]

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Mon, 26 Oct 2020 07:59:11 +0000 (08:59 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Document breaking change in strspn/strcspn

[ci skip]

4 years agoDocument breaking change in strspn/strcspn
Thiemo Kreuz [Sat, 24 Oct 2020 10:26:27 +0000 (12:26 +0200)]
Document breaking change in strspn/strcspn

See https://phabricator.wikimedia.org/T264502.

[ci skip]

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Mon, 26 Oct 2020 07:52:50 +0000 (08:52 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Revert "Make ReflectionUnionType final"

4 years agoRevert "Make ReflectionUnionType final"
Nikita Popov [Mon, 26 Oct 2020 07:51:06 +0000 (08:51 +0100)]
Revert "Make ReflectionUnionType final"

This reverts commit ef6adb4e27853eb19bf50bad6486311920d6af7b.

Per Ondrej's comment, this is already being used by BetterReflection
adaptors, ugh.

4 years agoMerge branch 'PHP-8.0'
Máté Kocsis [Sun, 25 Oct 2020 19:16:11 +0000 (20:16 +0100)]
Merge branch 'PHP-8.0'

4 years agoMake ReflectionUnionType final
Máté Kocsis [Sun, 25 Oct 2020 18:20:03 +0000 (19:20 +0100)]
Make ReflectionUnionType final

Closes GH-6384

4 years agoMerge branch 'PHP-8.0'
Christoph M. Becker [Sun, 25 Oct 2020 15:27:45 +0000 (16:27 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  [ci skip] Fix typos in UPGRADING

4 years ago[ci skip] Fix typos in UPGRADING
Christoph M. Becker [Sun, 25 Oct 2020 15:27:20 +0000 (16:27 +0100)]
[ci skip] Fix typos in UPGRADING

4 years agoMerge branch 'PHP-8.0' into master
Christoph M. Becker [Sat, 24 Oct 2020 13:36:44 +0000 (15:36 +0200)]
Merge branch 'PHP-8.0' into master

* PHP-8.0:
  Define config var PHP_JSON

4 years agoDefine config var PHP_JSON
Christoph M. Becker [Sat, 24 Oct 2020 13:31:10 +0000 (15:31 +0200)]
Define config var PHP_JSON

Otherwise, `ADD_EXTENSION_DEP('foo', 'json')` fails, even though the
JSON extension is available.

4 years agoMerge branch 'PHP-8.0'
George Peter Banyard [Fri, 23 Oct 2020 19:48:52 +0000 (20:48 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Throw Value/TypeError for invalid $bodies in imap_mail_compose()

4 years agoThrow Value/TypeError for invalid $bodies in imap_mail_compose()
George Peter Banyard [Thu, 22 Oct 2020 14:23:35 +0000 (15:23 +0100)]
Throw Value/TypeError for invalid $bodies in imap_mail_compose()

Small drive by refactoring to use HashTables

Closes GH-6371

4 years agowaitpid in ftp server tests
Nikita Popov [Fri, 23 Oct 2020 09:10:21 +0000 (11:10 +0200)]
waitpid in ftp server tests

This is not relevant right now, but ensures consistent order if
the tests are repeated.

4 years agoAllow running session tests in parallel
Nikita Popov [Fri, 23 Oct 2020 14:17:13 +0000 (16:17 +0200)]
Allow running session tests in parallel

Use unique session IDs and/or save paths. Also removes the annoying
order-dependence of session tests.

4 years agoMerge branch 'PHP-8.0'
Máté Kocsis [Fri, 23 Oct 2020 14:34:40 +0000 (16:34 +0200)]
Merge branch 'PHP-8.0'

4 years agoRequire stubs to declare return types for magic methods when possible
Máté Kocsis [Fri, 23 Oct 2020 12:09:23 +0000 (14:09 +0200)]
Require stubs to declare return types for magic methods when possible

Closes GH-6376

4 years agoUse ephemeral port in more server tests
Nikita Popov [Fri, 23 Oct 2020 09:29:44 +0000 (11:29 +0200)]
Use ephemeral port in more server tests

Port the main php_cli_server.inc to use ephemeral ports, thus
allowing CLI server tests to be parallelized.

A complication here is that we also need to give each test a
separate doc root, to avoid index.php files writing over each
other.

Closes GH-6375.

4 years agoFix pasv_port determination
Nikita Popov [Fri, 23 Oct 2020 09:46:54 +0000 (11:46 +0200)]
Fix pasv_port determination

Apparently the ftp server is also used by ext/standard/tests/streams,
and only that part actually uses pasv.

4 years agoUse ephemeral port in ftp tests
Nikita Popov [Thu, 22 Oct 2020 10:53:57 +0000 (12:53 +0200)]
Use ephemeral port in ftp tests

And enable them to run in parallel.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Fri, 23 Oct 2020 08:31:55 +0000 (10:31 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Make GC default threshold handling consistent

4 years agoMake GC default threshold handling consistent
Nikita Popov [Fri, 23 Oct 2020 08:30:07 +0000 (10:30 +0200)]
Make GC default threshold handling consistent

While the initial threshold is set to 10001 roots, the threshold
adjustment logic may then set it to 10000. The exact value really
doesn't matter, but we should make it consistent.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Fri, 23 Oct 2020 07:47:36 +0000 (09:47 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't allow passing unknown named params to class without ctor

4 years agoDon't allow passing unknown named params to class without ctor
Nikita Popov [Wed, 21 Oct 2020 09:55:03 +0000 (11:55 +0200)]
Don't allow passing unknown named params to class without ctor

See also https://externals.io/message/112083.

Closes GH-6364.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Fri, 23 Oct 2020 07:34:37 +0000 (09:34 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fixed some typos

[ci skip]

4 years agoFixed some typos
Javier Eguiluz [Thu, 22 Oct 2020 17:46:24 +0000 (19:46 +0200)]
Fixed some typos

Closes GH-6373.

[ci skip]

4 years agoMerge branch 'PHP-8.0'
Dmitry Stogov [Thu, 22 Oct 2020 20:17:19 +0000 (23:17 +0300)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fixed register allocation
  Fixed reference-counter inference
  Missed warning

4 years agoFixed register allocation
Dmitry Stogov [Thu, 22 Oct 2020 20:16:41 +0000 (23:16 +0300)]
Fixed register allocation

4 years agoFixed reference-counter inference
Dmitry Stogov [Thu, 22 Oct 2020 20:15:39 +0000 (23:15 +0300)]
Fixed reference-counter inference

4 years agoMissed warning
Dmitry Stogov [Thu, 22 Oct 2020 20:15:15 +0000 (23:15 +0300)]
Missed warning

4 years agoMerge branch 'PHP-8.0'
Máté Kocsis [Thu, 22 Oct 2020 17:03:04 +0000 (19:03 +0200)]
Merge branch 'PHP-8.0'

4 years agoRun arginfo/ZPP verification tests in strict mode as well
Máté Kocsis [Thu, 22 Oct 2020 10:48:12 +0000 (12:48 +0200)]
Run arginfo/ZPP verification tests in strict mode as well

Closes GH-6370

4 years agoMerge branch 'PHP-8.0'
George Peter Banyard [Thu, 22 Oct 2020 16:06:07 +0000 (17:06 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix bug 76618

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoFix bug 76618
George Peter Banyard [Thu, 22 Oct 2020 16:01:48 +0000 (17:01 +0100)]
Fix bug 76618

Apply patch which was attached to the bug in July 2018

4 years agoMerge branch 'PHP-8.0'
Dmitry Stogov [Thu, 22 Oct 2020 15:24:22 +0000 (18:24 +0300)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Checj type guards before loading values into CPU registers
  Avoid register allocation for ASSIGN into aliased variable (it might be indirectly changed into IS_REFERENCE)

4 years agoChecj type guards before loading values into CPU registers
Dmitry Stogov [Thu, 22 Oct 2020 15:23:49 +0000 (18:23 +0300)]
Checj type guards before loading values into CPU registers

4 years agoAvoid register allocation for ASSIGN into aliased variable (it might be indirectly...
Dmitry Stogov [Thu, 22 Oct 2020 15:22:36 +0000 (18:22 +0300)]
Avoid register allocation for ASSIGN into aliased variable (it might be indirectly changed into IS_REFERENCE)

4 years agoMerge branch 'PHP-8.0'
George Peter Banyard [Thu, 22 Oct 2020 14:50:42 +0000 (15:50 +0100)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix segfaults after conversion from zval to zend_string params

4 years agoFix segfaults after conversion from zval to zend_string params
George Peter Banyard [Thu, 22 Oct 2020 14:21:57 +0000 (15:21 +0100)]
Fix segfaults after conversion from zval to zend_string params

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 14:06:16 +0000 (16:06 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't crash on uninitialized tidy object

4 years agoMerge branch 'PHP-7.4' into PHP-8.0
Nikita Popov [Thu, 22 Oct 2020 14:05:57 +0000 (16:05 +0200)]
Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Don't crash on uninitialized tidy object

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 22 Oct 2020 14:05:34 +0000 (16:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Don't crash on uninitialized tidy object

4 years agoDon't crash on uninitialized tidy object
Nikita Popov [Thu, 22 Oct 2020 14:04:22 +0000 (16:04 +0200)]
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.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 13:20:51 +0000 (15:20 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Properly validate ArrayObject::asort() argument

4 years agoProperly validate ArrayObject::asort() argument
Nikita Popov [Thu, 22 Oct 2020 13:19:47 +0000 (15:19 +0200)]
Properly validate ArrayObject::asort() argument

4 years agoFix zpp for GdFont|int
Nikita Popov [Thu, 22 Oct 2020 13:06:47 +0000 (15:06 +0200)]
Fix zpp for GdFont|int

Use Z_PARAM_OBJ_OF_TYPE_OR_LONG to get standard behavior.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 12:56:00 +0000 (14:56 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix parameter name of pspell_config_save_repl()

4 years agoFix parameter name of pspell_config_save_repl()
Máté Kocsis [Thu, 22 Oct 2020 09:44:19 +0000 (11:44 +0200)]
Fix parameter name of pspell_config_save_repl()

Closes GH-6369.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 12:52:03 +0000 (14:52 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Fix stub for dba_key_split()

4 years agoFix stub for dba_key_split()
Nikita Popov [Thu, 22 Oct 2020 12:49:48 +0000 (14:49 +0200)]
Fix stub for dba_key_split()

This is an extremely weird function, but the behavior seems to be
intentional, and is quite clearly documented.

So we adjust the stub to also accept false|null as arguments. I
believe the implementation already correctly matches union type
semantics.

4 years agoAccept zend_string in highlight_string API
Nikita Popov [Thu, 22 Oct 2020 12:35:40 +0000 (14:35 +0200)]
Accept zend_string in highlight_string API

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 12:31:54 +0000 (14:31 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Make highlight_string() accept string in zpp

4 years agoMake highlight_string() accept string in zpp
Nikita Popov [Thu, 22 Oct 2020 12:31:23 +0000 (14:31 +0200)]
Make highlight_string() accept string in zpp

To satisfy the type declaration.

4 years agoRemove unused pasv_listen() function
Nikita Popov [Thu, 22 Oct 2020 12:23:07 +0000 (14:23 +0200)]
Remove unused pasv_listen() function

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 12:22:16 +0000 (14:22 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't leak pcntl last_error across requests

4 years agoDon't leak pcntl last_error across requests
Nikita Popov [Thu, 22 Oct 2020 12:18:45 +0000 (14:18 +0200)]
Don't leak pcntl last_error across requests

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 10:42:26 +0000 (12:42 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't leak json error_code across requests

4 years agoDon't leak json error_code across requests
Nikita Popov [Thu, 22 Oct 2020 10:41:52 +0000 (12:41 +0200)]
Don't leak json error_code across requests

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 09:20:21 +0000 (11:20 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't leak pcre error_code across requests
  Updated to version 2020.4 (2020d)

4 years agoDon't leak pcre error_code across requests
Nikita Popov [Thu, 22 Oct 2020 09:01:59 +0000 (11:01 +0200)]
Don't leak pcre error_code across requests

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoEmpty merge
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Empty merge

4 years agoEmpty merge
Derick Rethans [Thu, 22 Oct 2020 09:12:27 +0000 (10:12 +0100)]
Empty merge

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:26 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoEmpty merge
Derick Rethans [Thu, 22 Oct 2020 09:12:25 +0000 (10:12 +0100)]
Empty merge

4 years agoUpdated to version 2020.4 (2020d)
Derick Rethans [Thu, 22 Oct 2020 09:12:24 +0000 (10:12 +0100)]
Updated to version 2020.4 (2020d)

4 years agoRemove unused single.leaf member
Nikita Popov [Thu, 22 Oct 2020 08:42:26 +0000 (10:42 +0200)]
Remove unused single.leaf member

4 years agoDon't allow properties on former resource objects
Nikita Popov [Thu, 22 Oct 2020 08:35:03 +0000 (10:35 +0200)]
Don't allow properties on former resource objects

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 08:34:44 +0000 (10:34 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Don't allow properties on GdImage

4 years agoDon't allow properties on GdImage
Nikita Popov [Thu, 22 Oct 2020 08:34:14 +0000 (10:34 +0200)]
Don't allow properties on GdImage

Just like all the other former resources... we missed this case.

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Thu, 22 Oct 2020 08:27:01 +0000 (10:27 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Simplify and fix generator tree management

4 years agoSimplify and fix generator tree management
Nikita Popov [Thu, 15 Oct 2020 14:42:59 +0000 (16:42 +0200)]
Simplify and fix generator tree management

This makes a number of related changes to the generator tree
management, that should hopefully make it easier to understand,
more robust and faster for the common linear-chain case. Fixes
https://bugs.php.net/bug.php?id=80240, which was the original
motivation here.

 * Generators now only add a ref to their direct parent.
 * Nodes only store their children, not their leafs, which avoids
   any need for leaf updating. This means it's no longer possible
   to fetch the child for a certain leaf, which is something we
   only needed in one place (update_current). If multi-children
   nodes are involved, this will require doing a walk in the other
   direction (from leaf to root). It does not affect the common
   case of single-child nodes.
 * The root/leaf pointers are now seen as a pair. One leaf generator
   can point to the current root. If a different leaf generator is
   used, we'll move the root pointer over to that one. Again, this
   is a cache to make the common linear chain case fast, trees may
   need to scan up the parent link.

Closes GH-6344.

4 years agoConvert pspell resources to objects
Sara Golemon [Thu, 22 Oct 2020 00:12:55 +0000 (00:12 +0000)]
Convert pspell resources to objects

4 years agoNEWS for gdFont conversion
Sara Golemon [Wed, 21 Oct 2020 23:43:28 +0000 (23:43 +0000)]
NEWS for gdFont conversion

4 years agoConvert gdFont from resource to object
Sara Golemon [Wed, 21 Oct 2020 23:21:25 +0000 (23:21 +0000)]
Convert gdFont from resource to object

4 years agoConvert FTP resource to object
Sara Golemon [Wed, 21 Oct 2020 22:09:08 +0000 (22:09 +0000)]
Convert FTP resource to object

4 years agoMerge branch 'PHP-8.0'
Nikita Popov [Wed, 21 Oct 2020 15:07:12 +0000 (17:07 +0200)]
Merge branch 'PHP-8.0'

* PHP-8.0:
  Update bcmath.scale when calling bcscale()