1
0
mirror of https://github.com/php/php-src.git synced 2026-04-02 13:43:02 +02:00
Commit Graph

50560 Commits

Author SHA1 Message Date
Sebastian Pop
68a7578243 [AArch64] use rev64 to reverse strings
The execution time goes from 4.388s down to 0.563s on a Graviton A1
instance for the benchmark:

function reverse_strings() {
    $a = "foo";
    for ($i = 0; $i < 100000; $i++) {
        strrev($a);
        $a .= "o";
    }
}
2019-05-07 10:40:45 +02:00
Peter Kokot
361d0b3426 Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2019-05-07 04:40:01 +02:00
Peter Kokot
c453196be4 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Convert CRLF line endings to LF
2019-05-07 04:35:43 +02:00
Peter Kokot
d153fbc5a9 Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.

Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)

To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`

Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).

Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.

Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
2019-05-07 04:34:37 +02:00
Peter Kokot
b8caba92e2 Remove empty section 2019-05-07 04:26:03 +02:00
Peter Kokot
eb9ad31b48 [ci skip] Rename libbcmath license file to LICENSE
- More common filename accross the PHP repository
- Additionally, this patch replaces some legacy form feed (FF or ^L)
  characters (for printers) to LF (\n) newline character.
2019-05-07 01:09:25 +02:00
Peter Kokot
975cb57930 [ci skip] Move OpenLDAP license to redistributable info file 2019-05-06 23:02:46 +02:00
Peter Kokot
426bcdf021 Fix double incremenation in ffi
This removes the warning of:
`incremented both in the loop header and in the loop body` in the
compilation step.
2019-05-06 09:45:11 +03:00
Peter Kokot
c025cf47c0 Rename uppercase JPG file to lowercase jpg
To not introduce new file type and since it is not related to a test.
Lowercase JPG file type more common and recommended to use.
2019-05-06 05:18:27 +02:00
Peter Kokot
340c39acfa Remove duplicate test file
Files ext/oci8/tests/field_funcs0.phpt and
ext/oci8/tests/field_funcs.phpt are the same.
2019-05-06 00:11:40 +02:00
peter279k
8417142a8f Remove duplicate getimagesize_variation_003 test 2019-05-05 23:55:09 +02:00
Jakub Zelenka
b348c46e29 Merge branch 'PHP-7.3' into PHP-7.4 2019-05-05 21:06:30 +01:00
Jakub Zelenka
36a7d9fca4 Merge branch 'PHP-7.2' into PHP-7.3 2019-05-05 21:05:55 +01:00
Jakub Zelenka
9977de0028 Fix OpenSSL online test for ca context
The php.net is redirected to https so use nginx.org
2019-05-05 21:04:28 +01:00
Christoph M. Becker
30409d6753 Properly initialize variable
Not all code paths assign to `handle`, even though it may be used, so
we make sure that it is initialized to a sane value in the first place.
2019-05-05 17:49:54 +02:00
Christoph M. Becker
a760c79f1e Fix typo 2019-05-05 15:40:33 +02:00
Christoph M. Becker
e4757ecc80 Re-add common PDO tests to Firebird test suite
These have been inadvertently dropped when changing the test suite to
not require ext/interbase anymore, so we add them back.

We also change the required environment variable names to match the
usual PDO names.  Particularly, we replace `PDO_FIREBIRD_TEST_HOSTNAME`
and `_DATABASE` with the more flexible `PDO_FIREBIRD_TEST_DSN`.
2019-05-04 14:24:15 +02:00
Christoph M. Becker
ae21dc46da Fix memory leak exhibited by bug_aaa.phpt
Since a statement may be executed multiple times, we need to free
already allocated storage for output data before allocating new
storage.
2019-05-04 14:20:11 +02:00
peter279k
ba0913a2e5 Fix undefined variable, and remove unused test-pdo 2019-05-03 18:14:32 +02:00
Christoph M. Becker
508892e266 Fix comment
0x2d == 45, not 46.  However, `CURLMOPT_PUSHFUNCTION` is actually
available as of cURL 7.44.0[1], while we make the respective PHP
constants available only as of cURL 7.46.0[2].

[1] <https://curl.haxx.se/libcurl/c/CURLMOPT_PUSHFUNCTION.html>
[2] <http://git.php.net/?p=php-src.git;a=blob;f=ext/curl/interface.c;h=fdf855278eef6f32f26c49b54f56aca9bd7007c3;hb=HEAD#l1289>
2019-05-03 16:50:56 +02:00
peter279k
826e4aca59 Remove test-pcntl script 2019-05-02 23:25:32 +03:00
Kalle Sommer Nielsen
1c893b89bd PDO_Firebird test update, round 2
- This renames the environment variables to: PDO_FIREBIRD_TEST_XXX to be in line with other PDO test suites
- Adds an skipif.inc file that skips the tests if no database is set
- The test suite can now be run without PDO_FIREBIRD_TEST_HOSTNAME

$ set PDO_FIREBIRD_TEST_HOSTNAME=localhost
$ set PDO_FIREBIRD_TEST_DATABASE=C:\dev\php.fdb
$ nmake test TESTS=ext/pdo_firebird/tests
2019-05-02 23:19:27 +03:00
Kalle Sommer Nielsen
c9599c1c72 Rewrite PDO_Firebird tests to not depend on ext/interbase
I have no idea how I managed to get this to work, but there is 4 new environment variables that
can be specified for the connection:

- PDO_FIREBIRD_USERNAME
- PDO_FIREBIRD_PASSWORD
- PDO_FIREBIRD_HOSTNAME
- PDO_FIREBIRD_DATABASE

(See testdb.inc for more info)

The only way I could get this to work on my local machine was with a DSN like:

- firebird:dbname=localhost:C:\php.fdb

Hence why the 'hostname' can be specified.

There is also a bit mess in regards to cleanup of this extension tests, but I really do not want to dwell down there, if someone dares to do so, then please be my guest.
2019-05-02 21:48:24 +03:00
Nikita Popov
2934f9da4d Merge branch 'PHP-7.3' into PHP-7.4 2019-05-02 15:13:24 +02:00
Javier Spagnoletti
6b73e692c9 Add more missing CURL_VERSION_* constants
And also check for CURL_VERSION_* constants in the sync-constants.php
script.

Related to request #72189: Add missing `CURL_VERSION_*` constants.
2019-05-02 15:11:42 +02:00
Nikita Popov
f3e5bbe6f3 Implement arrow functions
Per RFC: https://wiki.php.net/rfc/arrow_functions_v2

Co-authored-by: Levi Morrison <levim@php.net>
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
2019-05-02 15:04:03 +02:00
Kalle Sommer Nielsen
b458fcb87f Move ext/interbase to pecl/database/interbase
https://wiki.php.net/rfc/deprecate-and-remove-ext-interbase
2019-05-01 23:27:04 +03:00
Dmitry Stogov
ec5f7df732 Use ZEND_HASH_FOREACH with direct callback, instead of callbacks 2019-04-30 14:50:01 +03:00
蝦米
e4ed2bf922 fix typo 2019-04-30 09:18:17 +02:00
Stanislav Malyshev
db0de953ba Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:06:10 -07:00
Stanislav Malyshev
66b32f25d5 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:05:43 -07:00
Stanislav Malyshev
cb5af4e8a0 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
2019-04-30 00:05:32 -07:00
Stanislav Malyshev
f80ad18afa Fix bug #77950 - Heap-buffer-overflow in _estrndup via exif_process_IFD_TAG
I do not completely understand what is going on there, but I am pretty
sure dir_entry <= offset_base if not a normal situation, so we better not
to rely on such dir_entry.
2019-04-30 00:05:23 -07:00
Dmitry Stogov
8cdd215894 Also, use ZEND_ACC_PRELOADED for classes 2019-04-30 02:07:02 +03:00
Christoph M. Becker
18a9ae412f Fix #77943: imageantialias($image, false); does not work
Firstly, we must not call `gdImageSetAntiAliased()` (which sets the
color to anti-alias), but rather modify the `gdImage.AA` flag.
Furthermore, we have to actually use the supplied boolean value.

We also make sure that we don't attempt to enable anti-aliasing for
palette images.
2019-04-29 17:23:16 +02:00
Christoph M. Becker
3891e0d13a Add tests for bug77943 2019-04-29 16:29:08 +02:00
Christoph M. Becker
85cf1cb077 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #77943: imageantialias($image, false); does not work
2019-04-29 16:18:54 +02:00
Christoph M. Becker
3fc1bdc81c Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #77943: imageantialias($image, false); does not work
2019-04-29 16:18:27 +02:00
Christoph M. Becker
cd94cf60a2 Fix #77943: imageantialias($image, false); does not work
Firstly, we must not call `gdImageSetAntiAliased()` (which sets the
color to anti-alias), but rather modify the `gdImage.AA` flag.
Furthermore, we have to actually use the supplied boolean value.

We also make sure that we don't attempt to enable anti-aliasing for
palette images.
2019-04-29 16:16:46 +02:00
Hugh McMaster
a7b5b341b3 Use PKG_CHECK_MODULES to detect the zip library 2019-04-29 14:16:16 +02:00
Hugh McMaster
4bce02898d Use PKG_CHECK_MODULES to detect the libsodium library 2019-04-29 14:16:16 +02:00
Hugh McMaster
c9ee822bb6 Always use pkg-config from the host architecture 2019-04-29 14:16:16 +02:00
Nikita Popov
b1c5f7b265 Merge branch 'PHP-7.3' into PHP-7.4 2019-04-29 13:53:57 +02:00
Nikita Popov
ff2b5bda59 Merge branch 'PHP-7.2' into PHP-7.3 2019-04-29 13:53:45 +02:00
Nikita Popov
5da0579259 Fixed bug #77945
Make sure that we proper distinguish between empty string key and
no key during SDL serialization.
2019-04-29 13:52:18 +02:00
Christoph M. Becker
71e9013bab Properly initialize out parameter
The MS docs on `SQLColAttribute()`[1] state regarding the
`NumericAttributePtr` parameter:

| Please note that some drivers may only write the lower 32-bit or
| 16-bit of a buffer and leave the higher-order bit unchanged.
| Therefore, applications should initialize the value to 0 before
| calling this function.

[1] <https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/sqlcolattribute-function?view=sql-server-2017>
2019-04-29 12:17:38 +02:00
Jury
c79d5b86e0 Adds json_encode test for unpacked arrays 2019-04-29 10:23:38 +02:00
Christoph M. Becker
c68dc6b5e3 Extend CURLFile to support streams
Due to former restrictions of the libcurl API, curl multipart/formdata
file uploads supported only proper files.  However, as of curl 7.56.0
the new `curl_mime_*()` API is available (and already supported by
PHP[1]), which allows us to support arbitrary *seekable* streams, which
is generally desirable, and particularly resolves issues with the
transparent Unicode and long part support on Windows (see bug #77711).

Note that older curl versions are still supported, but CURLFile is
still restricted to proper files in this case.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=a83b68ba56714bfa06737a61af795460caa4a105>
2019-04-29 10:21:07 +02:00
Christoph M. Becker
9481cb43b3 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix tests
2019-04-29 09:07:13 +02:00
Christoph M. Becker
7faaf5a89a Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix tests
2019-04-29 09:05:04 +02:00