summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
* Fix typos in fetch_all error messageKamil Tekiela2021-03-283-4/+3
|
* Revert "Revert "Revert "[skip-ci] Fix typo"""Levi Morrison2021-03-281-11/+0
| | | | This reverts commit 2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a.
* Revert "Revert "[skip-ci] Fix typo""Nikita Popov2021-03-281-0/+11
| | | | This reverts commit 046827a7e867bb0e655923c75c25a20d06e3aa8b.
* Revert "[skip-ci] Fix typo"Nikita Popov2021-03-281-11/+0
| | | | | | | This reverts commit c730aa26bd52829a49f2ad284b181b7e82a68d7d. This looks like the result of a compromised git account. Commit access has already been revoked.
* [skip-ci] Fix typoRasmus Lerdorf2021-03-281-0/+11
| | | | | | Fixes minor typo. Signed-off-by: Rasmus Lerdorf <rasmus@lerdorf.com>
* Fix json_encode regression with JSON_PRETTY_PRINTTyson Andre2021-03-272-1/+67
| | | | | | | | | | | | | | | | | | | | | | | | This makes the json encoding behavior the same as it was prior to the memory optimizations added in f9f8c1c79cac1b03279190e0c5513a51881615f9 (for objects with declared properties) This is based on the code for the unoptimized case below the changes. Buggy output prior to this commit: ``` { "prop":"value"} ``` Correct output: ``` { "prop": "value" } ``` Closes GH-6811
* hash: Fix -Warray-parameter= warningsAnatol Belski2021-03-264-9/+9
| | | | Signed-off-by: Anatol Belski <ab@php.net>
* Improved JIT for TYPE_CHECK opcodeDmitry Stogov2021-03-252-26/+76
|
* Merge branch 'PHP-8.0'Máté Kocsis2021-03-252-3/+3
|\
| * Fix PDOStatement::bindColumn() parameter default valuePHP-8.0Máté Kocsis2021-03-252-3/+3
| |
| * XFAIL on WIN64 because of problem in libffiDmitry Stogov2021-03-241-0/+1
| | | | | | | | (cherry picked from commit 6689bedd1796380f882fdecc6dcf8da1ff885c2b)
* | Improve JIT for IS_IDENTICALDmitry Stogov2021-03-251-18/+36
| |
* | Merge branch 'PHP-8.0'Christoph M. Becker2021-03-241-1/+1
|\ \ | |/ | | | | | | * PHP-8.0: Fix #73533: Invalid memory access in php_libxml_xmlCheckUTF8
| * Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-03-241-1/+1
| |\ | | | | | | | | | | | | * PHP-7.4: Fix #73533: Invalid memory access in php_libxml_xmlCheckUTF8
| | * Fix #73533: Invalid memory access in php_libxml_xmlCheckUTF8PHP-7.4Christoph M. Becker2021-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | A string passed to `php_libxml_xmlCheckUTF8()` may be longer than 1<<31-1 bytes, so we're better using a `size_t`. Closes GH-6802.
* | | Replace function with macroDmitry Stogov2021-03-243-13/+5
| | |
* | | Move system independent code out from x86 specific headerDmitry Stogov2021-03-233-190/+204
| | |
* | | Move x86 dependent code out from platform independed parts.Dmitry Stogov2021-03-234-23/+33
| | |
* | | Merge branch 'PHP-8.0'Christoph M. Becker2021-03-231-1/+2
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Properly initialize PS(mod) on RINIT
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-03-231-1/+2
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Properly initialize PS(mod) on RINIT
| | * Properly initialize PS(mod) on RINITChristoph M. Becker2021-03-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | We need to do that in case a user handler has been set. However, we can't do that in `php_rinit_session_globals()` since that function is called by PHP function `session_destroy()` too, but in that case we don't want to reset PS(mod). Closes GH-6795.
* | | Use capstone disassembler, if available.Dmitry Stogov2021-03-235-30/+214
| | |
* | | Merge branch 'PHP-8.0'Christoph M. Becker2021-03-222-16/+50
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix #80889: amendment
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-03-222-16/+50
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix #80889: amendment
| | * Fix #80889: amendmentChristoph M. Becker2021-03-222-16/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `session_set_save_handler()` may be called with callables instead of an object; we need to cater to that as well. We also extract a set_user_save_handler_ini() function to avoid code duplication. Closes GH-6796.
* | | Migrate skip checks to --EXTENSIONS--, p1Max Semenik2021-03-22192-453/+381
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For rationale, see https://github.com/php/php-src/pull/6787 Extensions migrated in this part: * bcmath * bz2 * calendar * com_dotnet * ctype Closes GH-6797.
* | | strtr() optimizationDmitry Stogov2021-03-221-24/+21
| | |
* | | Support VERIFY_RETURN_TYPE elision with unused operandNikita Popov2021-03-221-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles the degenerate case where SCCP replaced the value in the RETURN opcode with a constant, but the VERIFY_RETURN is still there. We can still apply the same optimization, just don't need to adjust the use list in this case. The result is still sub-optimal in that a dead QM_ASSIGN is left behind.
* | | Use zend_string* instead of char*Dmitry Stogov2021-03-225-46/+48
| | |
* | | run-tests: use the EXTENSIONS section for skippingMax Semenik2021-03-2223-43/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, most skip checks are just for making sure an extension is available. Even with recent addition of skip caching, this makes tests needlessly slow: * Checks for the same extension in its tests can have small differences impacting cacheability. * Even identical skip checks in two tests can still be executed twice if they're run by different workers. To remedy this, I'm repurposing the existing --EXTENSIONS-- section of .phpt files to specify wjich extensions are required for current test to run. Current behavior: 1) If the extension is already visible to PHP, all is good 2) If it isn't, assume it's present as a shared module and attempt to add it via a command line parameter 3) If that works, all is good 4) If it doesn't, PHP fails with a cryptic error message trying to execute the test itself After this commit: 1) and 2) are kept unchanged 3) Check if shared extension file from 2) is actually present 4) Skip the test if it isn't Other benefits include clear skip reasons (vs. sometimes none in many current skip checks) and moving test information from code to metadata, opening more opportunities for search and analysis. Since --EXTENSIONS-- is barely ever used, this change poses no risk of hidden failures. As a demonstration of the new approach, this commit migrates one extension to it. If merged, I will migrate other extensions in subsequent PRs. Closes GH-6787.
* | | Merge branch 'PHP-8.0'Jakub Zelenka2021-03-211-5/+42
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.4' into PHP-8.0Jakub Zelenka2021-03-211-5/+42
| |\ \ | | |/
| | * Use ServerClientTestCase in a test for default_socket_timeout=-1Jakub Zelenka2021-03-211-5/+42
| | |
* | | Convert resources to objects in ext/ldapMáté Kocsis2021-03-2137-591/+691
| | | | | | | | | | | | Closes GH-6770
* | | Use zend_hash_lookup()Dmitry Stogov2021-03-193-44/+6
| | |
* | | Merge branch 'PHP-8.0'Christoph M. Becker2021-03-192-1/+38
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix #80889: Cannot set save handler when save_handler is invalid
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-03-192-1/+38
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix #80889: Cannot set save handler when save_handler is invalid
| | * Fix #80889: Cannot set save handler when save_handler is invalidChristoph M. Becker2021-03-192-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | There is no need to require a (valid) save_handler to be set, when a user handler is supposed to be set. We just have to make sure, that no user handler is already set in this case. Closes GH-6788.
* | | Support prototypes in call graphNikita Popov2021-03-193-4/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if we don't know the exact method being called, include it in the call graph with the is_prototype flag. In particular, we can still make use of return types from prototype methods, as PHP 8 makes LSP violations a hard error. Most other places are adjusted to skip calls with !is_prototype. Maybe some of them would be fine, but ignoring them is conservative.
* | | XFAIL on WIN64 because of problem in libffiDmitry Stogov2021-03-191-0/+1
| | |
* | | Allow inferring narrowed return typeNikita Popov2021-03-181-0/+44
| | | | | | | | | | | | | | | | | | Even if an explicit return type is given, we might still infer a more narrow one based on return statements. We shouldn't pessimize this just because a type has been declared.
* | | Update one more use of NO_AUTOLOADNikita Popov2021-03-181-2/+3
| | |
* | | Update mysqli stub hashMáté Kocsis2021-03-181-1/+1
| | |
* | | Merge branch 'PHP-8.0'Christoph M. Becker2021-03-183-5/+80
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Fix #80783: PDO ODBC truncates BLOB records at every 256th byte
| * | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-03-183-2/+77
| |\ \ | | |/ | | | | | | | | | * PHP-7.4: Fix #80783: PDO ODBC truncates BLOB records at every 256th byte
| | * Fix #80783: PDO ODBC truncates BLOB records at every 256th byteChristoph M. Becker2021-03-183-2/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not guaranteed, that the driver inserts only a single NUL byte at the end of the buffer. Apparently, there is no way to find out the actual data length in the buffer after calling `SQLGetData()`, so we adjust after the next `SQLGetData()` call. We also prevent PDO::ODBC_ATTR_ASSUME_UTF8 from fetching garbage, by fetching all chunks with the same C type. Closes GH-6716.
* | | Update opt testNikita Popov2021-03-181-1/+1
| | | | | | | | | | | | And fix a type in the fetch class flags dumping while here.
* | | Merge branch 'PHP-8.0'Dmitry Stogov2021-03-182-3/+83
|\ \ \ | |/ / | | | | | | | | | * PHP-8.0: Additional fix for bug #80847. On x86_64 part of structure may be passed in CPU registers.
| * | Additional fix for bug #80847.Dmitry Stogov2021-03-182-3/+83
| | | | | | | | | | | | On x86_64 part of structure may be passed in CPU registers.
* | | "zend-test" was renamed to "zend_test"Dmitry Stogov2021-03-181-1/+1
| | |