1
0
mirror of https://github.com/php/php-src.git synced 2026-04-14 19:41:05 +02:00
Commit Graph

118525 Commits

Author SHA1 Message Date
Christoph M. Becker
fce0cd4a88 Fix test case 2020-05-07 16:47:38 +02:00
Tyson Andre
9f8f84adbc 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
2020-05-07 16:24:03 +02:00
Nikita Popov
4a512625a0 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...
2020-05-07 15:54:54 +02:00
Nikita Popov
c50cfc4d3d 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.
2020-05-07 15:46:08 +02:00
Nikita Popov
d6ac8b236f Clean up determine_charset() implementation
And drop code related to locale-based charset guessing,
which is no longer in use.
2020-05-07 14:58:24 +02:00
Nikita Popov
481b7421f3 Throw warning if invalid internal_encoding ini is specified 2020-05-07 14:44:13 +02:00
Dmitry Stogov
98acdbff18 Prevent taking side traces for exceptional cases. Always exit to VM interpreter. 2020-05-07 12:49:01 +03:00
Nikita Popov
217f6013b3 Remove no_language from mbfl_string
This is not actually used for anything and just causes confusion.
2020-05-07 11:36:57 +02:00
Nikita Popov
226d9dd30a 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).
2020-05-07 11:19:14 +02:00
Máté Kocsis
b67f699dcd Rename the recently introduced Sysvsem class to SysvSemaphore 2020-05-07 10:21:58 +02:00
Nikita Popov
5bfa9598f4 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.
2020-05-07 10:16:46 +02:00
Christoph M. Becker
1a95ed0b33 Enable test on Windows 2020-05-07 09:20:15 +02:00
Xinchen Hui
dd9d0a96d1 Fixed false alarm about tmp_name maybe unitialized 2020-05-07 14:16:02 +08:00
Dmitry Stogov
7977cd1c19 Fixed comment 2020-05-07 09:05:33 +03:00
Nikita Popov
71f48260af 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.
2020-05-06 22:56:01 +02:00
Dmitry Stogov
9d869f24d4 Avoid Program Counter guard in side trace started from Fake Init Fcall guard. 2020-05-06 23:16:45 +03:00
George Peter Banyard
038502b92a 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
2020-05-06 21:51:59 +02:00
Dmitry Stogov
b63eff17ff Initial support for IS_INDIRECT. Avoid type guards for IS_INDIRECT. 2020-05-06 22:27:38 +03:00
Máté Kocsis
bce8c8fb27 Promote warning to exception in ZipArchive::extractTo()
Closes GH-5516
2020-05-06 19:22:52 +02:00
Máté Kocsis
650da66e2d Fix UNKNOWN default values in ext/spl 2020-05-06 19:15:39 +02:00
Máté Kocsis
35a10fb8e8 Fix UNKNOWN default values in ext/sqlite3 2020-05-06 19:15:39 +02:00
Máté Kocsis
60412c37ae Fix UNKNOWN default values in ext/xml 2020-05-06 19:15:39 +02:00
Máté Kocsis
89d1707587 Fix UNKNOWN default values in ext/xsl 2020-05-06 19:15:38 +02:00
Máté Kocsis
daa5b26456 Fix UNKNOWN default values in ext/zip 2020-05-06 19:15:34 +02:00
Máté Kocsis
78dda268eb Fix ZPP order in ext/zip 2020-05-06 19:14:36 +02:00
George Peter Banyard
389c2b4303 Drop BF_ASM constant as it's always 0
Closes GH-5531
2020-05-06 17:55:32 +02:00
Christoph M. Becker
822c489961 Remove out-dated comments 2020-05-06 17:25:49 +02:00
Máté Kocsis
eab54d2382 Convert resource to object in ext/sysvsem
Closes GH-5508
2020-05-06 15:42:41 +02:00
Dmitry Stogov
776b1aefc8 Careful cleanup 2020-05-06 16:26:36 +03:00
Remi Collet
f987219c69 add myself as enchant maintainer 2020-05-06 13:18:35 +02:00
Christoph M. Becker
c1ad9163b8 Fix enchant stub 2020-05-06 13:16:50 +02:00
Remi Collet
5f5dd994d4 enchant: bump license version 2020-05-06 13:13:19 +02:00
Nikita Popov
718e55c3e0 Add zend_array_release() function
To complement zend_string_release() and zend_object_release().
2020-05-06 11:27:20 +02:00
Nikita Popov
e41f764b5c Revert "Move declaration at top of the block"
This reverts commit b56f203850.

We use C99 now, this is not needed anymore.
2020-05-06 09:42:58 +02:00
Xinchen Hui
b56f203850 Move declaration at top of the block 2020-05-06 14:01:56 +08:00
George Peter Banyard
ba45addb38 Use correct variable
This seems to stem from a copy paste, however there is no object variable in this function
2020-05-05 22:12:31 +02:00
Máté Kocsis
3ebce8e9fc Fix UNKNOWN default values in various extensions
Closes GH-5514
2020-05-05 19:08:20 +02:00
Nikita Popov
5bc1e224db Make numeric operations on resources, arrays and objects type errors
RFC: https://wiki.php.net/rfc/arithmetic_operator_type_checks

Closes GH-5331.
2020-05-05 16:11:13 +02:00
William Hudgins
31fb6a08b3 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.
2020-05-05 16:03:47 +02:00
Christoph M. Becker
e749db4047 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79566: Private SHM is not private on Windows
2020-05-05 11:41:31 +02:00
Christoph M. Becker
80b5006196 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79566: Private SHM is not private on Windows
2020-05-05 11:41:04 +02:00
Christoph M. Becker
f33cf52faf 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.
2020-05-05 11:38:29 +02:00
Nikita Popov
901417f0ae Fix mbfl default allocators
Forgot to remove the persistent allocators from here.
2020-05-04 23:41:39 +02:00
Nikita Popov
a0cae937c5 Spec mbfl allocators as infallible
And remove all NULL checks.
2020-05-04 23:19:07 +02:00
Nikita Popov
7d4ff8443e Remove persistent allocators from libmbfl
These functions are not used, and I don't think we have any plans
to ever use them.
2020-05-04 23:19:07 +02:00
Christoph M. Becker
6086343a91 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79561: dns_get_record() fails with DNS_ALL
2020-05-04 23:02:00 +02:00
Christoph M. Becker
ed6bf0bc69 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79561: dns_get_record() fails with DNS_ALL
2020-05-04 23:00:56 +02:00
Christoph M. Becker
c40a494406 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.
2020-05-04 22:59:38 +02:00
AllenJB
50752401a7 Change the default PDO error mode to exceptions
According to <https://www.php.net/manual/en/pdo.error-handling.php>.
2020-05-04 22:51:47 +02:00
Nikita Popov
8ffbd4653e Perform isupper check using sse2 as well
Rather than just vectorizing the lowering, also vectorize the
check for uppercase characters, using the same method.
2020-05-04 19:19:54 +02:00