]> granicus.if.org Git - php/log
php
4 years agoTrim trailing whitespaces and fix code style
Rod Elias [Mon, 11 May 2020 14:08:17 +0000 (11:08 -0300)]
Trim trailing whitespaces and fix code style

Closes GH-5554.

4 years agorun-tests: remove use of FILE_BINARY constant
Gerard Roche [Tue, 12 May 2020 09:07:18 +0000 (10:07 +0100)]
run-tests: remove use of FILE_BINARY constant

The FILE_BINARY (and FILE_TEXT) constants are not really valid or useful
constants. It looks like they were added in 5.2.7 and have "no effect,
and are only available for forward compatibility."

See: https://www.php.net/manual/en/filesystem.constants.php

The default value of the file_put_contents() flags parameter is 0 and
FILE_BINARY is set to 0, so removing it doesn't change functionality.

P.S. Maybe those constants should be deprecated or removed in 8.0.

Closes GH-5556.

4 years agoRemove zend_qsort
Nikita Popov [Tue, 12 May 2020 14:57:53 +0000 (16:57 +0200)]
Remove zend_qsort

This has been superseded by zend_sort and is no longer used.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 12 May 2020 11:33:06 +0000 (13:33 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Skip test on big-endian architectures

4 years agoSkip test on big-endian architectures
Christoph M. Becker [Tue, 12 May 2020 11:31:53 +0000 (13:31 +0200)]
Skip test on big-endian architectures

Due to the memory layout on BE architectures, the address would be
`0x2a00000000` instead of `0x2a` on little-endian architectures.

4 years agoAvoid useless manual instruction encoding
Dmitry Stogov [Tue, 12 May 2020 11:24:13 +0000 (14:24 +0300)]
Avoid useless manual instruction encoding

4 years agoMove EG(vm_interrupt) checks at the end of the trace loops
Dmitry Stogov [Tue, 12 May 2020 10:35:38 +0000 (13:35 +0300)]
Move EG(vm_interrupt) checks at the end of the trace loops

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 12 May 2020 09:49:04 +0000 (11:49 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79489: .user.ini does not inherit

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 12 May 2020 09:48:11 +0000 (11:48 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79489: .user.ini does not inherit

4 years agoFix #79489: .user.ini does not inherit
Christoph M. Becker [Tue, 5 May 2020 08:36:16 +0000 (10:36 +0200)]
Fix #79489: .user.ini does not inherit

On Windows, PATH_TRANSLATED may contain backslashes as well as slashes,
so we must not only check for `DEFAULT_SLASH`.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 12 May 2020 09:19:10 +0000 (11:19 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  [ci skip] Update NEWS

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 12 May 2020 09:17:33 +0000 (11:17 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  [ci skip] Update NEWS

4 years ago[ci skip] Update NEWS
Christoph M. Becker [Tue, 12 May 2020 09:16:55 +0000 (11:16 +0200)]
[ci skip] Update NEWS

4 years agoMerge branch 'PHP-7.4'
Remi Collet [Tue, 12 May 2020 07:19:51 +0000 (09:19 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  bump version to 7.2.32-dev
  Update NEWS

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Tue, 12 May 2020 07:19:36 +0000 (09:19 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  bump version to 7.2.32-dev
  Update NEWS

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Tue, 12 May 2020 07:19:11 +0000 (09:19 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  bump version to 7.2.32-dev
  Update NEWS

4 years agobump version to 7.2.32-dev
Remi Collet [Tue, 12 May 2020 07:16:01 +0000 (09:16 +0200)]
bump version to 7.2.32-dev

4 years agoUpdate NEWS
Stanislav Malyshev [Mon, 11 May 2020 21:28:51 +0000 (14:28 -0700)]
Update NEWS

4 years agoMerge branch 'PHP-7.4'
Stanislav Malyshev [Mon, 11 May 2020 21:21:25 +0000 (14:21 -0700)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #78876: Long variables cause OOM and temp files are not cleaned
  Fix #78875: Long filenames cause OOM and temp files are not cleaned
  Update NEWS for 7.2.31
  Update CREDITS for PHP 7.2.30
  Update NEWS for PHP 7.2.30

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Stanislav Malyshev [Mon, 11 May 2020 21:20:47 +0000 (14:20 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78876: Long variables cause OOM and temp files are not cleaned
  Fix #78875: Long filenames cause OOM and temp files are not cleaned
  Update NEWS for 7.2.31
  Update CREDITS for PHP 7.2.30
  Update NEWS for PHP 7.2.30

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Stanislav Malyshev [Mon, 11 May 2020 21:20:41 +0000 (14:20 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78876: Long variables cause OOM and temp files are not cleaned
  Fix #78875: Long filenames cause OOM and temp files are not cleaned
  Update NEWS for 7.2.31
  Update CREDITS for PHP 7.2.30
  Update NEWS for PHP 7.2.30

4 years agoFix #78876: Long variables cause OOM and temp files are not cleaned
Christoph M. Becker [Wed, 18 Mar 2020 09:57:42 +0000 (10:57 +0100)]
Fix #78876: Long variables cause OOM and temp files are not cleaned

We use the proper type for size calculations, which is `size_t`.

4 years agoFix #78875: Long filenames cause OOM and temp files are not cleaned
Christoph M. Becker [Wed, 18 Mar 2020 09:26:53 +0000 (10:26 +0100)]
Fix #78875: Long filenames cause OOM and temp files are not cleaned

We must not cast `size_t` to `int` (unless the `size_t` value is
guaranteed to be less than or equal to `INT_MAX`).  In this case we can
declare `array_len` as `size_t` in the first place.

4 years agoRefactor mb_substitute_character()
George Peter Banyard [Sun, 3 May 2020 02:44:16 +0000 (04:44 +0200)]
Refactor mb_substitute_character()

Using the new Fast ZPP API for string|int|null

This also fixes Bug #79448 which was too disruptive to fix in PHP 7.x

4 years agoDeprecate old ReflectionParameter type declaration APIs
Nikita Popov [Tue, 25 Feb 2020 15:21:52 +0000 (16:21 +0100)]
Deprecate old ReflectionParameter type declaration APIs

This deprecates:

    ReflectionParameter::isArray()
    ReflectionParameter::isCallable()
    ReflectionParameter::getClass()

These APIs have been superseded by ReflectionParameter::getType()
since PHP 7.0. Types introduced since that time are not available
through the old APIs, and their behavior is getting increasingly
confusing. This is how they interact with PHP 8 union types:

 * isArray() will return true if the type is array or ?array,
   but not any other union type
 * Same for isCallable().
 * getClass() will return a class for T|int etc, as long as the
   union only contains a single type. T1|T2 will return null.

This behavior is not particularly reasonable or useful, and will
get more confusing as new type system extensions are added.

Closes GH-5209.

4 years agoRemove old ARG_COUNT() macro
George Peter Banyard [Sat, 9 May 2020 21:06:30 +0000 (23:06 +0200)]
Remove old ARG_COUNT() macro

Use ZEND_NUM_ARGS() instead.

Clsoes GH-5551

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 11 May 2020 14:25:30 +0000 (16:25 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79571: FFI: var_dumping unions may segfault

4 years agoFix #79571: FFI: var_dumping unions may segfault
Christoph M. Becker [Mon, 11 May 2020 12:35:27 +0000 (14:35 +0200)]
Fix #79571: FFI: var_dumping unions may segfault

We must not attempt to access arbitrary union members when retrieving
debug info, because that may not be valid.  Therefore we do no longer
dereference pointer types inside of unions, but report their address as
string in `%p` format instead.

4 years agoUpdate AppVeyor for enchant-2
Christoph M. Becker [Mon, 11 May 2020 14:18:03 +0000 (16:18 +0200)]
Update AppVeyor for enchant-2

Cf. <https://github.com/winlibs/enchant/commit/df5a4586e09d67bf2c208c7dfd0517657d06910e>

4 years agoDon't reset SIGG(running) when calling zend_on_timeout
Nikita Popov [Mon, 11 May 2020 13:05:01 +0000 (15:05 +0200)]
Don't reset SIGG(running) when calling zend_on_timeout

This is only an internal callback nowadays and does not actually
run any user code. It must be async signal safe.

4 years agoUse standard key behavior in array_column()
Nikita Popov [Wed, 29 Apr 2020 08:35:44 +0000 (10:35 +0200)]
Use standard key behavior in array_column()

array_column() reimplements array key handling in a way that does
not match standard array key behavior in PHP. Avoid this by making
use of the standard API.

Of course, there is a minor backwards compatibilty break here,
e.g. people could be relying on objects getting cast to string
instead of throwing.

Closes GH-5487.

4 years agoOnly use ifunc resolvers if __builtin_cpu_supports+init available
Nikita Popov [Mon, 11 May 2020 10:43:38 +0000 (12:43 +0200)]
Only use ifunc resolvers if __builtin_cpu_supports+init available

If either of them is not available, the use of zend_cpu_supports()
inside ifunc resolvers may not be safe.

4 years agoReapply "Remove configure checks for supported instruction sets"
Nikita Popov [Thu, 31 Oct 2019 10:27:53 +0000 (11:27 +0100)]
Reapply "Remove configure checks for supported instruction sets"

I reverted this previously for 7.4 because of bug #78769. Relanding
it now for master, because I still believe that this change is
right, and if it causes complications, those indicate a bug elsewhere.

---

These were checking whether the instruction set is supported by
the host CPU, however they were only used to condition on whether
this instruction set is targeted at all. It would still use dynamic
dispatch (e.g. based on ifunc resolvers) to select the actual
implementation. Whether the target is guaranteed to support the
instruction set without dispatch is determined based on pre-defined
macros like __SSE2__.

This removes the configure-time builtin cpu checks to remove
confusion. Additionally this allows targeting an architecture that
is newer than the host architecture.

4 years agoAdd get_resource_id() function
Nikita Popov [Tue, 21 Apr 2020 10:31:17 +0000 (12:31 +0200)]
Add get_resource_id() function

Behavior is same as for (int) $resource, just under a clearer
name. Also type-safe, in that the parameter actually needs to
be a resource.

Closes GH-5427.

4 years agoMerge branch 'sse2_urlencode' of https://github.com/laruence/php-src
Xinchen Hui [Mon, 11 May 2020 10:02:48 +0000 (18:02 +0800)]
Merge branch 'sse2_urlencode' of https://github.com/laruence/php-src

* 'sse2_urlencode' of https://github.com/laruence/php-src:
  drop use of extract_epi16
  Use SSE2 instructions do url_encode

4 years agoUse supported printf format on Win64
Christoph M. Becker [Mon, 11 May 2020 08:47:35 +0000 (10:47 +0200)]
Use supported printf format on Win64

Commit aaa1f90[1] dropped support for the custom `I` specifier, so we
must no longer use it for `ZEND_ADDR_FMT`; otherwise there are
segfaults when printing memory leaks, and maybe elsewhere.

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

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 11 May 2020 08:46:07 +0000 (10:46 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix default sendmail path when not found during build

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 11 May 2020 08:46:00 +0000 (10:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix default sendmail path when not found during build

4 years agoFix default sendmail path when not found during build
Indrek Ardel [Sat, 9 May 2020 00:08:14 +0000 (03:08 +0300)]
Fix default sendmail path when not found during build

Closes GH-5548.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 11 May 2020 08:23:06 +0000 (10:23 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Don't check directory atime in lstat_stat_variation10.phpt test

4 years agoDon't check directory atime in lstat_stat_variation10.phpt test
Alex Dowad [Sun, 10 May 2020 12:57:12 +0000 (14:57 +0200)]
Don't check directory atime in lstat_stat_variation10.phpt test

This is a funny one. I discovered that lstat_stat_variation10.phpt was failing every
now and again when the PHP test suite was run on my dev PC. The output from the failing
test showed that the atime (access time) of the directory created in the test was changing
between these lines:

    $old_stat = stat($dirname);
    clearstatcache();
    sleep(1);
    var_dump( is_dir($dirname) );
    $new_stat = stat($dirname);

Could is_dir() be accessing the directory and changing the atime? strace showed that is_dir
was only issuing a single stat() syscall. Could stat() change the atime? No, no, that would
just be perverse. Nobody would be stupid enough to implement the kernel in that way.

Checked the kernel source, found that the function called when atime needs to be updated
appears to be touch_atime(). Broke out the BCC kernel tracing tools and ran this one
while running the flaky test case in a loop:

    sudo trace -I<kernel src dir>/include/linux/path.h -I<same>/include/linux/dcache.h 'touch_atime(struct path *path) "%s", path->dentry->d_name.name'

Inspecting the results showed that something called "git_thread" was occcasionally updating
the atime on the directory in question!! What on earth...???

The PID shown by trace revealed that this was a background thread for Sublime Text 3.
Sublime now has git integration and shows when there are untracked or modified files. It
seems that it uses a background thread to regularly scan the project directory and look
for new and modified files. This was causing the atime to change.

Even though other developers may not be running ST3, there are any number of reasons why
a background process might recurse through various directories and could cause the atime
to change unexpectedly. Therefore, update the test case so it doesn't fail in such cases.

Closes GH-5553.

4 years agoFix use-after-free in sysvsem
Nikita Popov [Mon, 11 May 2020 08:21:31 +0000 (10:21 +0200)]
Fix use-after-free in sysvsem

4 years agoAdd `pkg-config` to the build list
Rod Elias [Sat, 9 May 2020 19:36:11 +0000 (16:36 -0300)]
Add `pkg-config` to the build list

Closes GH-5550.

[ci skip]

4 years agoFix bug68996.phpt test
Nikita Popov [Sat, 9 May 2020 09:53:39 +0000 (11:53 +0200)]
Fix bug68996.phpt test

The function name gets printed here now, with illegal chars
substituted in the arg. This slipped through previously, because
the test only runs under USE_ZEND_ALLOC=0. We remove that check
as well, because the test behaves the same regardless of which
allocator is used, even if the original bug only reproduces under
USE_ZEND_ALLOC=0.

4 years agodrop use of extract_epi16
Xinchen Hui [Sat, 9 May 2020 04:28:49 +0000 (12:28 +0800)]
drop use of extract_epi16

4 years agoSkip test if bigint type is unsupported by active TDS version
Adam Baratz [Fri, 8 May 2020 19:11:38 +0000 (15:11 -0400)]
Skip test if bigint type is unsupported by active TDS version

4 years agoSet non-default error mode to maintain expected behavior
Adam Baratz [Fri, 8 May 2020 18:45:37 +0000 (14:45 -0400)]
Set non-default error mode to maintain expected behavior

4 years agoUpdate FreeTDS version detection related to bug #72969
Adam Baratz [Fri, 8 May 2020 15:16:52 +0000 (11:16 -0400)]
Update FreeTDS version detection related to bug #72969

4 years agoMake float to string casts locale-independent
Máté Kocsis [Sat, 29 Feb 2020 21:47:04 +0000 (22:47 +0100)]
Make float to string casts locale-independent

From now on, float to string casting will always behave locale-independently.
RFC: https://wiki.php.net/rfc/locale_independent_float_to_string
Closes GH-5224

Co-authored-by: George Peter Banyard <girgias@php.net>
4 years agoUse SSE2 instructions do url_encode
Xinchen Hui [Fri, 8 May 2020 08:24:07 +0000 (16:24 +0800)]
Use SSE2 instructions do url_encode

4 years agocleanup
Dmitry Stogov [Fri, 8 May 2020 07:07:55 +0000 (10:07 +0300)]
cleanup

4 years agoChange parameter meaning.
Dmitry Stogov [Thu, 7 May 2020 22:24:02 +0000 (01:24 +0300)]
Change parameter meaning.

4 years agoUse proper "cost"
Dmitry Stogov [Thu, 7 May 2020 21:56:03 +0000 (00:56 +0300)]
Use proper "cost"

4 years agoAvoid loop throgh side_exit from the first trace instruction.
Dmitry Stogov [Thu, 7 May 2020 21:48:17 +0000 (00:48 +0300)]
Avoid loop throgh side_exit from the first trace instruction.

4 years agoFixed tracing JIT for CALL VM without global register variables
Dmitry Stogov [Thu, 7 May 2020 20:41:48 +0000 (23:41 +0300)]
Fixed tracing JIT for CALL VM without global register variables

4 years agoEnsure ctype_string is NULL for C locale
Nikita Popov [Thu, 7 May 2020 16:50:42 +0000 (18:50 +0200)]
Ensure ctype_string is NULL for C locale

We already document that this is the case, but currently it's only
true if setlocale() has not been called. Make sure ctype_string is
always NULL, even with an explicit "C" locale call, so we can
more efficiently check whether we are in the "C" locale.

Closes GH-5542.

4 years agoFix test file encoding
Nikita Popov [Thu, 7 May 2020 19:18:00 +0000 (21:18 +0200)]
Fix test file encoding

The mb_http_input_pass.phpt was intended to use the same encoding
as mb_http_input.phpt, not UTF-8.

4 years agoMore accurate tracing JIT for RETURN with unknown return address
Dmitry Stogov [Thu, 7 May 2020 19:01:59 +0000 (22:01 +0300)]
More accurate tracing JIT for RETURN with unknown return address

4 years agoRename locale_string to ctype_string
Nikita Popov [Thu, 7 May 2020 16:45:03 +0000 (18:45 +0200)]
Rename locale_string to ctype_string

To make it more obvious that this only refers to the LC_CTYPE
locale.

4 years agoRemove redundant htmlentities() tests
Nikita Popov [Thu, 7 May 2020 16:36:48 +0000 (18:36 +0200)]
Remove redundant htmlentities() tests

Test 04 and 15 are the same as 02 and 03, just for different
encodings. They don't add value, but their execution depends
on available locales, so they're easy to miss...

4 years agoFolder marks
Xinchen Hui [Thu, 7 May 2020 15:03:25 +0000 (23:03 +0800)]
Folder marks

4 years agoReally fix test case
Nikita Popov [Thu, 7 May 2020 14:51:05 +0000 (16:51 +0200)]
Really fix test case

4 years agoFix test case
Christoph M. Becker [Thu, 7 May 2020 14:47:38 +0000 (16:47 +0200)]
Fix test case

4 years agoEvaluate str_starts_with and str_ends_with on constants
Tyson Andre [Thu, 7 May 2020 13:14:15 +0000 (09:14 -0400)]
Evaluate str_starts_with and str_ends_with on constants

When both arguments are strings,
this is guaranteed not to emit notices.

Closes GH-5539

4 years agoDon't respect mbstring.internal_encoding in htmlentities()
Nikita Popov [Thu, 7 May 2020 13:18:52 +0000 (15:18 +0200)]
Don't respect mbstring.internal_encoding in htmlentities()

htmlentities() has nothing to do with mbstring and should not
depend on its ini settings. It should only respect the global
default_charset and internal_encoding settings. This is exactly
why they were introduced...

4 years agoAdd quiet parameter to internal HTML entities API
Nikita Popov [Thu, 7 May 2020 13:46:08 +0000 (15:46 +0200)]
Add quiet parameter to internal HTML entities API

In some places, we need to make sure that no warnings are thrown
due to unknown encoding. The error reporting code tried to avoid
this by determining a "safe charset", but this introduces subtle
discrepancies in which charset is picked (normally
internal_encoding takes precedence). Avoid this by suppressing
the warning in the first place.

While here, use the fallback logic to print error messages with
substitution characters more consistently, to avoid skipping
parts of the error message entirely.

4 years agoClean up determine_charset() implementation
Nikita Popov [Thu, 7 May 2020 12:58:24 +0000 (14:58 +0200)]
Clean up determine_charset() implementation

And drop code related to locale-based charset guessing,
which is no longer in use.

4 years agoThrow warning if invalid internal_encoding ini is specified
Nikita Popov [Thu, 7 May 2020 12:43:36 +0000 (14:43 +0200)]
Throw warning if invalid internal_encoding ini is specified

4 years agoPrevent taking side traces for exceptional cases. Always exit to VM interpreter.
Dmitry Stogov [Thu, 7 May 2020 09:49:01 +0000 (12:49 +0300)]
Prevent taking side traces for exceptional cases. Always exit to VM interpreter.

4 years agoRemove no_language from mbfl_string
Nikita Popov [Thu, 7 May 2020 09:36:57 +0000 (11:36 +0200)]
Remove no_language from mbfl_string

This is not actually used for anything and just causes confusion.

4 years agoOnly allow "pass" as input/output encoding
Nikita Popov [Thu, 7 May 2020 08:45:49 +0000 (10:45 +0200)]
Only allow "pass" as input/output encoding

"pass" is not a real encoding, it just means "don't perform any
conversion". Using it as an internal encoding or passing it to
any of the mbstring() function will not work (and on master commonly
assert).

4 years agoRename the recently introduced Sysvsem class to SysvSemaphore
Máté Kocsis [Thu, 7 May 2020 08:21:44 +0000 (10:21 +0200)]
Rename the recently introduced Sysvsem class to SysvSemaphore

4 years agoReturn false from failed mb_convert_variables()
Nikita Popov [Thu, 7 May 2020 08:15:57 +0000 (10:15 +0200)]
Return false from failed mb_convert_variables()

If we fail to detect the encoding return false, just like
mb_convert_encoding() does, and the implementation here clearly
intended. Previously the "pass" pseudo-incoding was returned.

4 years agoEnable test on Windows
Christoph M. Becker [Thu, 7 May 2020 07:19:34 +0000 (09:19 +0200)]
Enable test on Windows

4 years agoFixed false alarm about tmp_name maybe unitialized
Xinchen Hui [Thu, 7 May 2020 06:16:02 +0000 (14:16 +0800)]
Fixed false alarm about tmp_name maybe unitialized

4 years agoFixed comment
Dmitry Stogov [Thu, 7 May 2020 06:05:33 +0000 (09:05 +0300)]
Fixed comment

4 years agoFix assertion failure when failing to detect encoding
Nikita Popov [Wed, 6 May 2020 20:55:03 +0000 (22:55 +0200)]
Fix assertion failure when failing to detect encoding

Looks like prior to 7.3 this just passed the original string
through. Since 7.3 it returns false. Let's stick with that
behavior.

4 years agoAvoid Program Counter guard in side trace started from Fake Init Fcall guard.
Dmitry Stogov [Wed, 6 May 2020 20:16:45 +0000 (23:16 +0300)]
Avoid Program Counter guard in side trace started from Fake Init Fcall guard.

4 years agoUse int|string Fast ZPP macro in Reflection
George Peter Banyard [Sat, 2 May 2020 22:35:13 +0000 (00:35 +0200)]
Use int|string Fast ZPP macro in Reflection

Moreover, throw a more appropriate ValueError in case the integer
position provided is less than 0.

Closes GH-5513

4 years agoInitial support for IS_INDIRECT. Avoid type guards for IS_INDIRECT.
Dmitry Stogov [Wed, 6 May 2020 19:27:38 +0000 (22:27 +0300)]
Initial support for IS_INDIRECT. Avoid type guards for IS_INDIRECT.

4 years agoPromote warning to exception in ZipArchive::extractTo()
Máté Kocsis [Wed, 6 May 2020 07:26:48 +0000 (09:26 +0200)]
Promote warning to exception in ZipArchive::extractTo()

Closes GH-5516

4 years agoFix UNKNOWN default values in ext/spl
Máté Kocsis [Sun, 3 May 2020 11:19:44 +0000 (13:19 +0200)]
Fix UNKNOWN default values in ext/spl

4 years agoFix UNKNOWN default values in ext/sqlite3
Máté Kocsis [Sun, 3 May 2020 11:00:30 +0000 (13:00 +0200)]
Fix UNKNOWN default values in ext/sqlite3

4 years agoFix UNKNOWN default values in ext/xml
Máté Kocsis [Sun, 3 May 2020 10:58:02 +0000 (12:58 +0200)]
Fix UNKNOWN default values in ext/xml

4 years agoFix UNKNOWN default values in ext/xsl
Máté Kocsis [Sun, 3 May 2020 10:18:55 +0000 (12:18 +0200)]
Fix UNKNOWN default values in ext/xsl

4 years agoFix UNKNOWN default values in ext/zip
Máté Kocsis [Sun, 3 May 2020 09:49:31 +0000 (11:49 +0200)]
Fix UNKNOWN default values in ext/zip

4 years agoFix ZPP order in ext/zip
Máté Kocsis [Sun, 3 May 2020 09:41:32 +0000 (11:41 +0200)]
Fix ZPP order in ext/zip

4 years agoDrop BF_ASM constant as it's always 0
George Peter Banyard [Tue, 5 May 2020 22:45:42 +0000 (00:45 +0200)]
Drop BF_ASM constant as it's always 0

Closes GH-5531

4 years agoRemove out-dated comments
Christoph M. Becker [Wed, 6 May 2020 15:25:02 +0000 (17:25 +0200)]
Remove out-dated comments

4 years agoConvert resource to object in ext/sysvsem
Máté Kocsis [Fri, 1 May 2020 12:00:19 +0000 (14:00 +0200)]
Convert resource to object in ext/sysvsem

Closes GH-5508

4 years agoCareful cleanup
Dmitry Stogov [Wed, 6 May 2020 13:26:36 +0000 (16:26 +0300)]
Careful cleanup

4 years agoadd myself as enchant maintainer
Remi Collet [Wed, 6 May 2020 11:18:35 +0000 (13:18 +0200)]
add myself as enchant maintainer

4 years agoFix enchant stub
Christoph M. Becker [Wed, 6 May 2020 11:16:50 +0000 (13:16 +0200)]
Fix enchant stub

4 years agoenchant: bump license version
Remi Collet [Wed, 6 May 2020 11:13:19 +0000 (13:13 +0200)]
enchant: bump license version

4 years agoAdd zend_array_release() function
Nikita Popov [Wed, 6 May 2020 09:27:20 +0000 (11:27 +0200)]
Add zend_array_release() function

To complement zend_string_release() and zend_object_release().

4 years agoRevert "Move declaration at top of the block"
Nikita Popov [Wed, 6 May 2020 07:42:58 +0000 (09:42 +0200)]
Revert "Move declaration at top of the block"

This reverts commit b56f20385089703de7a3c9d89a9de4f9d14f56a3.

We use C99 now, this is not needed anymore.

4 years agoMove declaration at top of the block
Xinchen Hui [Wed, 6 May 2020 06:01:56 +0000 (14:01 +0800)]
Move declaration at top of the block

4 years agoUse correct variable
George Peter Banyard [Tue, 5 May 2020 20:12:31 +0000 (22:12 +0200)]
Use correct variable

This seems to stem from a copy paste, however there is no object variable in this function

4 years agoFix UNKNOWN default values in various extensions
Máté Kocsis [Sat, 2 May 2020 13:25:25 +0000 (15:25 +0200)]
Fix UNKNOWN default values in various extensions

Closes GH-5514

4 years agoMake numeric operations on resources, arrays and objects type errors
Nikita Popov [Wed, 1 Apr 2020 08:25:22 +0000 (10:25 +0200)]
Make numeric operations on resources, arrays and objects type errors

RFC: https://wiki.php.net/rfc/arithmetic_operator_type_checks

Closes GH-5331.