History log of /PHP-7.4/ext/standard/array.c (Results 1 – 25 of 872)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 18a0d46a 16-Nov-2021 Nikita Popov

Safely reassign array in usort()

Make sure to destroy the old value only after assigning the new
one. Otherwise we may try to double free, e.g. if GC runs during
this dtor.

Safely reassign array in usort()

Make sure to destroy the old value only after assigning the new
one. Otherwise we may try to double free, e.g. if GC runs during
this dtor.

This caused an assertion failure in phpro/grumphp and is likely
the cause for bug #81603 as well.

(cherry picked from commit 6f38acfaf906482a70dfb528ba0e427efbd8e2db)

(I applied this to the wrong base branch at first...)

show more ...


# da786a22 05-Aug-2020 Nikita Popov

Fixed bug #79930

We're inserting src_zval, so that's what we should addref.


# 0c28b471 17-Jul-2020 Nikita Popov

Fixed bug #79839

Add reference type sources in array_walk.


Revision tags: php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6
# 5fa6dcd9 07-Nov-2019 Nikita Popov

Fixed bug #78759

Handle INDIRECT values in array.


Revision tags: php-7.3.12RC1, php-7.2.25RC1, php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1, php-7.4.0RC3, php-7.2.23, php-7.3.10, php-7.4.0RC2
# d266ba4f 17-Sep-2019 Nikita Popov

Check for exception after calling count_values()

To avoid a duplicate error if count_values() throws.


Revision tags: php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1
# 0ba7c3ea 11-Jul-2019 Nikita Popov

Deprecate array_key_exists() on objects


Revision tags: php-7.4.0alpha3
# ea86a920 05-Jul-2019 Nikita Popov

Optimize integer in_array with strict=true

It doesn't make sense that using in_array with strict=false is
much faster for this case, due to lack of a specialized codepath.


Revision tags: php-7.3.7, php-7.2.20, php-7.4.0alpha2
# 638c2176 23-Jun-2019 Peter Kokot

Remove HAVE_STRCOLL check

The strcoll function is defined in the C89 standard and should be
on today's systems always available via the <string.h> header.

https://port70.net/~ns

Remove HAVE_STRCOLL check

The strcoll function is defined in the C89 standard and should be
on today's systems always available via the <string.h> header.

https://port70.net/~nsz/c/c89/c89-draft.html#4.11.4.3

- Remove also SKIPIF strcoll check in test

show more ...


Revision tags: php-7.3.7RC3
# 4ae87f4b 19-Jun-2019 Nikita Popov

Fix overflow UB in range()


Revision tags: php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1
# 83cdb89f 07-Jun-2019 Dmitry Stogov

Fixed bug #77135 (Extract with EXTR_SKIP should skip $this)


Revision tags: php-7.2.19, php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16
# a31f4642 26-Feb-2019 Nikita Popov

Allow exceptions in __toString()

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

And convert some object to string conversion related recoverable
fatal errors into Error excep

Allow exceptions in __toString()

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

And convert some object to string conversion related recoverable
fatal errors into Error exceptions.

Improve exception safety of internal code performing string
conversions.

show more ...


# b2cb6a4a 28-May-2019 Dmitry Stogov

Avoid double copying


# 77cf3d7b 16-May-2019 Dik Takken

Allow array_merge() / array_merge_recursive() without arguments

This allows writing

array_merge(...$arrays)

instead of

array_merge([], ...$arrays)

Allow array_merge() / array_merge_recursive() without arguments

This allows writing

array_merge(...$arrays)

instead of

array_merge([], ...$arrays)

and is in line with similar changes to array_push() and array_unshift()
in PHP 7.3.

Closes GH-4175.

show more ...


# 3f19f511 14-May-2019 Nikita Popov

Add RETURN_EMPTY_ARRAY() / RETVAL_EMPTY_ARRAY()

The usual wrappers around ZVAL_EMPTY_ARRAY()...


# cedee440 23-Apr-2019 Nikita Popov

Fixed bug #77931


# f9a755d0 16-Apr-2019 Nikita Popov

Fix HT flags copying wrt iterator count

HT_FLAGS() includes the full flag word, including the iterator
count. When we're fully reassigning it, we need to make sure that
we either rea

Fix HT flags copying wrt iterator count

HT_FLAGS() includes the full flag word, including the iterator
count. When we're fully reassigning it, we need to make sure that
we either really do want to copy the iterator count (as in some
cases in array.c) or we need to mask only the actual flag byte.

Add an assert to hash_iterators_del() to make sure the iterator
count is non-zero (which is how I ran into this) and make sure that
the iterator count is correctly preserved during array splicing.

show more ...


# e97577ed 25-Mar-2019 Nikita Popov

Fixed bug #77793

By making sure that we always first increment the refcount of the
new value before we destroy the old one.


# abc457fe 20-Mar-2019 Nikita Popov

Fixed bug #74345

Export zend_release_fcall_info_cache(). It is only necessary to
call it if the fcc may not have been used -- if it is passed to
zend_call_function() and friends, the

Fixed bug #74345

Export zend_release_fcall_info_cache(). It is only necessary to
call it if the fcc may not have been used -- if it is passed to
zend_call_function() and friends, then they will take care of
freeing trampolines.

show more ...


# bebcdcc7 02-Mar-2019 Peter Kokot

Remove legacy AC_CHECK_TYPE calls for uint and ulong

The AC_CHECK_TYPE was refactored in more recent versions of Autoconf
and the call with two arguments is obsolete and not recommended

Remove legacy AC_CHECK_TYPE calls for uint and ulong

The AC_CHECK_TYPE was refactored in more recent versions of Autoconf
and the call with two arguments is obsolete and not recommended anymore.

This patch also refactors some leftovers of using ulong and uint which
are not standard nor common usages of types in C.

The ulong can be used as zend_ulong and uint usage is actually
`unsigned int`.

The usage of HAVE_ULONG removed since it is not used in current code
base.

Legacy edgecase for some legacy HPUX systems removed:
- sys/stream.h header is not checked and the HAVE_SYS_STREAM_H is
not defined with current build system.

- flags are unsigned int
- max_allowed_packet changed to unsigned int

show more ...


# 9ad9cc71 28-Feb-2019 Nikita Popov

Fixed bug #77669


Revision tags: php-7.3.3RC1, php-7.2.16RC1, php-7.2.15, php-7.3.2, php-7.2.15RC1
# 92ac598a 22-Jan-2019 Peter Kokot

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

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.

show more ...


# 0cf7de1c 30-Jan-2019 Zeev Suraski

Remove yearly range from copyright notice


Revision tags: php-7.3.2RC1, php-5.6.40, php-7.1.26, php-7.3.1, php-7.2.14
# e219ec14 07-Jan-2019 Nikita Popov

Implement typed properties

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

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwe

Implement typed properties

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

This is a squash of PR #3734, which is a squash of PR #3313.

Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>

show more ...


# 7ac3c2fa 02-Jan-2019 Nikita Popov

Fix ZEND_NORMALIZE_BOOL usage

Typo introduced in cdd8368d6f3f000a2e30a6be9976c5539f10fe85.


# 8ebae846 02-Jan-2019 Xinchen Hui

Fixed bug #77395 (segfault about array_multisort)


12345678910>>...35