]> granicus.if.org Git - php/log
php
5 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.

5 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

5 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>

5 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

5 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

5 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.

5 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

5 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.

5 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

5 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]

5 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.

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

5 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

5 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

5 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

5 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>
5 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

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

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

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

5 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.

5 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

5 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.

5 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.

5 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

5 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.

5 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...

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

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

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

5 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

5 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...

5 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.

5 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.

5 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

5 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.

5 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.

5 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).

5 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

5 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.

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

5 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

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

5 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.

5 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.

5 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

5 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.

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

5 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

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

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

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

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

5 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().

5 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.

5 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

5 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

5 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

5 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.

5 years agoAdd str_starts_with() and str_ends_with()
William Hudgins [Tue, 5 May 2020 13:57:39 +0000 (15:57 +0200)]
Add str_starts_with() and str_ends_with()

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

Closes GH-5300.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 5 May 2020 09:41:31 +0000 (11:41 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79566: Private SHM is not private on Windows

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

* PHP-7.3:
  Fix #79566: Private SHM is not private on Windows

5 years agoFix #79566: Private SHM is not private on Windows
Christoph M. Becker [Tue, 5 May 2020 07:31:17 +0000 (09:31 +0200)]
Fix #79566: Private SHM is not private on Windows

We map the POSIX semantics of `IPC_PRIVATE` by creating unnamed file
mapping objects on Windows.  While that is not particularly useful for
ext/shmop, which is the only bundled extension which uses `shmget()`,
it may be useful for external extensions.

5 years agoFix mbfl default allocators
Nikita Popov [Mon, 4 May 2020 21:41:39 +0000 (23:41 +0200)]
Fix mbfl default allocators

Forgot to remove the persistent allocators from here.

5 years agoSpec mbfl allocators as infallible
Nikita Popov [Mon, 4 May 2020 21:17:54 +0000 (23:17 +0200)]
Spec mbfl allocators as infallible

And remove all NULL checks.

5 years agoRemove persistent allocators from libmbfl
Nikita Popov [Mon, 4 May 2020 21:10:17 +0000 (23:10 +0200)]
Remove persistent allocators from libmbfl

These functions are not used, and I don't think we have any plans
to ever use them.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 4 May 2020 21:02:00 +0000 (23:02 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79561: dns_get_record() fails with DNS_ALL

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 4 May 2020 21:00:27 +0000 (23:00 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79561: dns_get_record() fails with DNS_ALL

5 years agoFix #79561: dns_get_record() fails with DNS_ALL
Christoph M. Becker [Mon, 4 May 2020 14:51:51 +0000 (16:51 +0200)]
Fix #79561: dns_get_record() fails with DNS_ALL

Since Windows has its own definitions of the `PHP_DNS_*` macros, we
have to use these when registering the PHP constants.

5 years agoChange the default PDO error mode to exceptions
AllenJB [Mon, 4 May 2020 18:24:06 +0000 (20:24 +0200)]
Change the default PDO error mode to exceptions

According to <https://www.php.net/manual/en/pdo.error-handling.php>.

5 years agoPerform isupper check using sse2 as well
Nikita Popov [Mon, 4 May 2020 17:14:12 +0000 (19:14 +0200)]
Perform isupper check using sse2 as well

Rather than just vectorizing the lowering, also vectorize the
check for uppercase characters, using the same method.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 May 2020 14:30:34 +0000 (16:30 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #79548

5 years agoFixed bug #79548
Nikita Popov [Mon, 4 May 2020 14:27:45 +0000 (16:27 +0200)]
Fixed bug #79548

When duplicating user functions with static variables, make sure
that we init a new map ptr slot for the static variables.

5 years agoExtract one more function from proc_open() implementation
Nikita Popov [Mon, 4 May 2020 13:24:23 +0000 (15:24 +0200)]
Extract one more function from proc_open() implementation

5 years agoClean up proc_open() implementation
Alex Dowad [Fri, 1 May 2020 11:03:16 +0000 (13:03 +0200)]
Clean up proc_open() implementation

Closes GH-5507.

5 years agoRemove unused is_persistent flag
Nikita Popov [Mon, 4 May 2020 12:59:35 +0000 (14:59 +0200)]
Remove unused is_persistent flag

I dropped the assignment to it before, but did not drop the
struct member.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 May 2020 12:52:42 +0000 (14:52 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed bug #79535

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 4 May 2020 12:52:18 +0000 (14:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #79535

5 years agoFixed bug #79535
Nikita Popov [Mon, 4 May 2020 12:50:31 +0000 (14:50 +0200)]
Fixed bug #79535

We did not allocate a cache slot for FETCH_CLASS. This is already
fixed on newer PHP versions.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 4 May 2020 12:35:33 +0000 (14:35 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix i386 build on Azure

5 years agoFix i386 build on Azure
Nikita Popov [Mon, 4 May 2020 10:16:45 +0000 (12:16 +0200)]
Fix i386 build on Azure

Disabling postgresql entirely for now, because I can't figure out
how to fix it. Something broke big time with i386 packages on
Azure pipelines.

5 years agoUse ZPP int|string and add ValueError for Windows codepages
George Peter Banyard [Sun, 3 May 2020 12:09:37 +0000 (14:09 +0200)]
Use ZPP int|string and add ValueError for Windows codepages

Closes GH-5517

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 4 May 2020 09:52:01 +0000 (11:52 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Add basic sapi_windows_cp_conv() test

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

* PHP-7.3:
  Add basic sapi_windows_cp_conv() test

5 years agoAdd basic sapi_windows_cp_conv() test
Christoph M. Becker [Mon, 4 May 2020 09:46:54 +0000 (11:46 +0200)]
Add basic sapi_windows_cp_conv() test

This function is lacking any tests so far.

5 years agoUse libenchant2 if available on Windows
Christoph M. Becker [Mon, 4 May 2020 09:25:28 +0000 (11:25 +0200)]
Use libenchant2 if available on Windows

This is basically the same as commit 3427545[1], but for Windows.

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

5 years agoUse libenchant-2 when available
Remi Collet [Mon, 4 May 2020 06:27:31 +0000 (08:27 +0200)]
Use libenchant-2 when available

5 years agoFix #79467: data:// wrappers are writable
Christoph M. Becker [Sat, 2 May 2020 14:57:24 +0000 (16:57 +0200)]
Fix #79467: data:// wrappers are writable

Despite the docs claiming that data: wrappers would not be writable[1],
they are implemented as writing to a memory stream.  That does not seem
to be particularly sensible, so we disallow writing altogether.

[1] <https://www.php.net/manual/en/wrappers.data.php#refsect1-wrappers.data-options>

5 years agoUse ZPP check for string|int|null arguments in array_column()
George Peter Banyard [Mon, 27 Apr 2020 18:30:07 +0000 (20:30 +0200)]
Use ZPP check for string|int|null arguments in array_column()

5 years agoAdd Fast ZPP string|int type check
George Peter Banyard [Fri, 24 Apr 2020 13:35:03 +0000 (15:35 +0200)]
Add Fast ZPP string|int type check

5 years agoDon't raise bogus warning if writing completely failed
Christoph M. Becker [Sat, 2 May 2020 14:28:18 +0000 (16:28 +0200)]
Don't raise bogus warning if writing completely failed

5 years agoRemove is_persistent flag from proc_open implementation
Nikita Popov [Sat, 2 May 2020 13:33:29 +0000 (15:33 +0200)]
Remove is_persistent flag from proc_open implementation

We don't support persistent proc_open handles and have no plan
to suppor them. The mixture of persistent and non-persistent
allocations functions in this code is somewhat confusing to read.